Ver Mensaje Individual
  #8 (permalink)  
Antiguo 25/06/2003, 00:44
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Bueno .. si ejecutas un script similar a:

Código PHP:
<?
exec 
($program_execution);
header("Content-type: image/gif"); 
readfile("fichero.gif");
?>
donde como ya te mencioné usas cabeceras HTTP .. en este caso particular de "imagenes" (sean del típo que sean) .. debes de llamar a ese script bajo un <tag> HTML de imagen tal que:

Código PHP:
<img src="tu_script_ese.php"
y si necesitas pasarle parámetros a ese script para que a su vez se los pase a tu ejecutable .. tan sólo añadeselos y recuerda que en tu script ese, entraran dichos datos por el método GET.

ejemplo:
Código PHP:
<img src="tu_script_ese.php?varible=valor"
Si el archivo que genera tu aplicación es de "texto" .. la cabecera HTTP de content-type .. ya no será esa de image/gif .. sino text/plain (o algo así .. ahora no recuerdo bien ..).

Por lo tanto .. no sé como sabes que tu aplicación te va a generar un "texto" o un "binario/imagen" .. pero .. o una de dos:

1) identificas el formato MIME de tu archivo que acabas de generar con tu aplicación. Esto lo peudes hacer con la función: mime_content_type() .. (requiere de algo de configuración del servidor si no dispones de ese soporte)


2) si lo sabes de antemano .. le "tiras" al navegador la cabecera adecuada (if .. tal .. header .. image/gif .. else .. header .. text/plain ...)


Lo que comentas del "http://.." en el readfile() .. Si usas http:// o ftp:// y algunas más .. estas haciendo que PHP use el "wrapper" que hay le indicas y por ende abrirá dicha conexión al puerto que corresponda (80 HTTP, 21 FTP (si no me equivoco) .. etc)

mas info:
http://www.php.net/manual/en/features.remote-files.php

El caso que no es necesario que lo hagas si vas a acceder a un archivo q lo tienes en tu própio servidor (no remoto) así que es mas "rápido" llamarlo simplemente como te puse en el ejemplo .. Con eso te ahorras esa "conexión" y todo lo que implica de tiempos ...

Por cierto .. te puse como ejemplo para leer tu archivo la función readfile(). Esta función cumple dos funciones (valga la rebundancia):

1) abre el archivo en modo lectura ..
2) lo entrega directo al buffer de salida (en tu caso será al navegador).

Otras opciones son por ejemplo hacer un fopen() .. fread() y echo/print .. pero como veras, con esa función nos ahorramos unas cuantas funciones.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 25/06/2003 a las 00:47