Article View: es.comp.os.linux.programacion
Article #16888Re: Ficheros de imagen en Postgres, Apache y PHP3
From: Manuel López Moreno
Date: Fri, 17 Mar 2000 00:00
Date: Fri, 17 Mar 2000 00:00
78 lines
3580 bytes
3580 bytes
Tal d�a Fri, 17 Mar 2000 13:09:22 +0100,
Fco. Javier <proyectec@mundivia.es> nos relat�:
>Estoy intentando crear una base de datos para almacenar imagenes (con
>comentarios asociados a las mismas, fecha de introducci�n, etc.) y poder
>recuperarlas como un documento HTML desde un navegador a trav�s de Apache y
>PHP3. [...]
>No se si es porque no utilizo la sintaxis adecuada
>en HTML para hacer que la muestre el navegador o porque realmente primero
>hay que extraer el fichero fisicamente y despues enlazarlo desde el
>navegador. [...]
Remito un peque�o ejemplo que escrib� para visualizar fichas de
personas. M�s o menos, el ejemplo funciona as�:
Un formulario (que no posteo) pide un c�digo.
Este c�digo se utiliza para buscar en la base de datos
(bd_consulta.php3), y pasarle los resultados a ficha.phtml, que
es el documento HTML final que visualizar� todos los datos.
En realidad, el funcionamiento no te lo puedo explicar en
profundidad en un post, as� que mejor que te indiquen los dem�s
algo de documentaci�n para que consultes.
Lo que s� te indico son unos cuantos detalles, por si te sirven:
- La foto la consegu� visualizar as�: consulto la b.d., extraigo
en un archivo (/tmp/foto.gif) el campo que almacena la imagen, y
le paso a un cgi (imagen.php3) el nombre del archivo para que lo
visualice.
- Estuve HORAS y HORAS pele�ndome con el refresco de la cach�
del navegador (siempre me visualizaba la misma imagen), hasta que
descubr�, en la documentaci�n del PHP, que la t�cnica a utilizar
es: NO guardar en la cach� !!!
De esta manera, nunca has de refrescar el documento que visualiza
el navegador, pues la propia cabecera HTTP del documento le
indica al navegador que NO lo guarde en cach�.
Posteo lo esencial...
[ficha.phtml]
<?
include "header_no_cache.php3";
include "bd_consulta.php3";
?>
<html>
<body>
<h1><? echo $nombre ?></h1>
<img width=100 src=imagen.php3?imagen=<? echo $archivo_foto ?>>
<br>
Direcci�n: <? echo $direcci�n ?><br>
Tel�fono: <? echo $tel�fono ?><br>
</body>
</html>
[imagen.php3]
<?
include "header_no_cache.php3";
Header( "Content-type: image/gif" );
readfile( $imagen );
flush();
?>
[header_no_cache.php3]
<?
Header("Expires: 1 Jan 2000 00:00:00 GMT"); // Fecha pasada
Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
Header("Pragma: no-cache"); // HTTP/1.0
?>
--
Manuel L�pez Moreno
O---m <http://www.linuxfan.com/~luname/pgp-key.asc>
Visita: Web de ecol* <http://www.linux-es.com/es.comp.os.linux.*/>
Technical Details
Message-ID:
<slrn8d4d11.l8.luname@mantium.luname.net>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<8at7bh$4kk$1@diana.bcn.ttd.net>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,854614eed61dabbc X-Google-Attributes: gidf86c8,public From: luname@linuxfan.com (Manuel López Moreno) Subject: Re: Ficheros de imagen en Postgres, Apache y PHP3 Date: 2000/03/17 Message-ID: <slrn8d4d11.l8.luname@mantium.luname.net> X-Deja-AN: 598750122 Content-Transfer-Encoding: 8bit References: <8at7bh$4kk$1@diana.bcn.ttd.net> Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: abuse@news.wanadoo.es X-Trace: m2newsread.uni2.es 953300418 62.36.144.107 (Fri, 17 Mar 2000 14:40:18 MET) Organization: Wanadoo Usenet News - Visita http://www.wanadoo.es/ Mime-Version: 1.0 User-Agent: slrn/0.9.6.2 (Linux) NNTP-Posting-Date: Fri, 17 Mar 2000 14:40:18 MET Newsgroups: es.comp.os.linux.programacion