Re: [PHP-ES] Re: Acceso a archivos, que están fuera del documentRoot
[email protected] (Carlos Medina)
| Newsgroups | php.general.es |
|---|---|
| Organization | SimplyNetworks |
| Message-ID | <[email protected]> |
Am 14.10.2011 10:56, schrieb Ricardo Martinez:
> Hola!!!
>
> estoy intentando cargar video ( .flv ) ( desde un directorio fuera de
> documentRoot )
>
> para ello utilizo el siguiente código.
>
>
> $name = $file;
> $fp = fopen($name, 'rb');
>
> // send the right headers
> header("Content-Type: video/x-flv");
> header("Content-Length: " . filesize($name));
>
> // dump the picture and stop the script
> fpassthru($fp);
> exit;
>
> se me queda la pantalla en negro.
>
> Alguien sabe si son las cabeceras correctas ¿? o conoce otro método ¿?
>
> Me he asegurado también que está en httpd.conf
>
> AddType video/x-flv .flv
> AddType video/x-flv flv
>
>
> Un saludo!!!
>
>
> 2011/10/12 Eduardo Huertas <[email protected]>
>
>> El dÃa 12 de octubre de 2011 14:04, Ricardo Martinez
>> <[email protected]> escribió:
>>> Solucionado con imagenes:
>>>
>>> El problema es que no sabÃa como "cargar" las imágenes en un documento,
>> ya
>>> en proceso de creación ( con las headers ya mandadas ), sin que diera
>> error.
>>>
>>> Por ejemplo si index.php es el documento con los headers ya mandados y
>>> dentro de index.php queremos poder llamar a una imagen, que está fuera
>> del
>>> documentRoot.
>>>
>>> Para ello, nos creamos un archivo auxiliar por ejemplo getImage.php, en
>> el
>>> cual podemos utilizar nuevas headers sin que de error e insertar la
>> imagen
>>> donde queramos dentro de index.php .
>>>
>>> La forma de llamarlo es muy sencilla: <img src="getImage.php" /> ***
>> esto
>>> probablemente lo sabriaÃs, yo no lo sabÃa.
>>>
>>> Dentro de getImage.php podemos utilizar las anteriores funciones
>>> mencionadas anteriormente, como readfile, fpasstru etc. Sin que de error,
>> un
>>> ejemplo de código de getImage.php serÃa:
>>>
>>> <?php
>>>
>>> // open the file in a binary mode
>>> $name = './img/ok.png';
>>> $fp = fopen($name, 'rb');
>>>
>>> // send the right headers
>>> header("Content-Type: image/png");
>>> header("Content-Length: " . filesize($name));
>>>
>>> // dump the picture and stop the script
>>> fpassthru($fp);
>>> exit;
>>>
>>> ?>
>>>
>>>
>>>
>>> recalcar que debemos controlar, que no se pueda ejecutar getImage.php, si
>> el
>>> usuario no está logeado, porque sino se podrÃa utilzar para ver dicho
>>> contenido, que no queremos que sea publico.
>>>
>>> En cuanto al tema de los frameworks ya hechos, están muy bien ayudan
>> mucho,
>>> pero por diversas necesidades y requerimientos para esto necesitaba mi
>>> propia plataforma.
>>>
>>> Bueno de momento img y pdfs solucionado!!! gracias!!! ya os contaré
>> cuando
>>> tenga que tratar el tema del video.
>>
>> Efectivamente, si quieres llamar la imagen desde un documento, lo
>> lógico es hacerlo a través del controlador... seguramente no me habÃa
>> explicado correctamente.
>>
>> No creo que tengas ya muchos problemas, ya que da igual el tipo mime
>> que pongas, siempre y cuando especifiques bien el tipo en el header.
>> Suena como que ya lo tienes solucionado.
>>
>> Felicidades y un saludo.
>>
>
>
>
header('Content-Type: video/flv'); //????
Prueba con eso.
Otras cabeceras
http://www.jonasjohn.de/snippets/php/headers.htm
http://www.google.com
http://stackoverflow.com/questions/599509/how-to-serve-flv-files-using-php