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,