
Y bien esta es la segunda parte del pequeño tutorial para usar la clase FicheroV2, en esta parte tratare la manupulacion de archivos en nuestro servidor y hacer un pequeño proxy para imagenes basicamente una extension de lo que explique en un post anterior.
Generando un proxy para el stream de cualkier archivo
Bien alguna vez estube en un laboratorio de mi universidad donde en ese entonces (ahora ya no) tenian bloqueado el acceso al youtube, sí lo bloqueaban con un servidor proxy, pues que he de hacer?, justamente para combatir a un proxy se usa otro proxy :p
Bien ahora hare los ejemplos con imagenes, tendria q servir para cualkier archivo binario o de texto plano.
<?php
require_once "ficheroV2.class.php";
$ruta = "carpeta/imagen.jpg";
$nombre = "imagen_de_alguien.jpg";
$tamanio = filesize($ruta);
$fp = new Fichero($ruta,"rb");
header("Content-Length: " . $tamanio);
header("Content-type: image/jpeg");
header("Content-Disposition: inline; filename=\"$nombre\"");
echo $fp->Gets_cont();
$fp->Cierra();
?>
En el script anterior podemos decir que $ruta es obviamente la ruta de nuestra imagen, $nombre sera el nombre que nos aparecera al momento de descargarla, filesize nos da el tamaño para ponerlo luego en una de las cabeceras ( header ).
Las cabeceras (header) del script son una de las cosas mas importates aqui, le indican al navegador si tuvo una respuesta buena, cuanto pesa el archivo, que tipo de archivo es, su nombre, genera las cookies e infinidad de cosas.
Es por eso que necesitamos obtener la cabecera del tipo (Content-type) adecuada de acuerdo al archivo que estemos leyendo, por decir en este caso como es una imagen jpg
header("Content-type: image/jpeg");
Ojo no estamos cambiando de formato, le estamos indicando al navegador de que tipo es el archivo para que lo reconosca adecuadamente.
Si fuera png?
header("Content-type: image/png");
o Si fuera gif?
header("Content-type: image/png");
o en tal caso si no fuera una imagen y sea un pdf
header("Content-type: application/pdf");
Bueno aca les dejo una serie de types:
pdf - application/pdf
exe - application/octet-stream
zip - application/zip
doc - application/msword
xls - application/vnd.ms-excel
ppt - application/vnd.ms-powerpoint
gif - image/gif
png - image/png
jpeg - image/jpeg
jpg - image/jpeg
mp3 - audio/mpeg
wav - audio/x-wav
mpeg - video/mpeg
mpg - video/mpeg
mpe - video/mpeg
mov - video/quicktime
avi - video/x-msvideo
flv - video/flv
Saludos, continuara la 3ra parte..







man una pregunta digamos kieor jalar videos de youtube como le pondria en la linea $ruta = “carpeta/imagen.jpg”; si los videos estan en youtube y no en una de mis carpetas…