🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16888

Re: Ficheros de imagen en Postgres, Apache y PHP3

#16888
From: Manuel López Moreno
Date: Fri, 17 Mar 2000 00:00
78 lines
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-mail
References: <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