Re: [PHP-ES] Re: Acceso a archivos, que están fuera del documentRoot
[email protected] (Eduardo Huertas)
| Newsgroups | php.general.es |
|---|---|
| Message-ID | <CAOkfiTmOnivU0Y2TcAQOraEvS2u4k33=76tPc_mLnBHuhnvL3A@mail.gmail.com> |
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.