Envío de ficheros

pepe
11 de Febrero del 2005
Hola a todos.

Estoy realizando dos scripts php que hacen lo siguiente:

El primer script lo que hace es mirar si en un determinado directorio existe un fichero. En el caso de existir lo devuelve como respuesta. El objetivo de este segundo script es invocar cada cierto tiempo al primero para ver si existe algun fichero nuevo, y en caso afirmativo almacenarlo en su sistema de archivos. El codigo del primer script es el siguiente:

<?
$fichero = basename("prueba.gif");
header( "Content-Type: image/gif");
header( "Content-Length: ".filesize("prueba.gif"));
header( "Content-Disposition: attachment; filename=".$fichero."");
readfile("prueba.gif");

Si invoco este script desde el navegador, me sale la típica ventana preguntándome que deseo hacer con el fichero. Asi funciona correctamente, pero esa no es mi intención. Lo que yo quiero es que el segundo script almacene el fichero que manda el primer script. El codigo del segundo script es el siguiente:

<?php
$file = fopen ("http://www.miservidor.es/primerscript.php", "r");
$file1 = fopen ("pp.gif", "w");
if (!$file)
{
echo "Error";
exit;
}

while (!feof ($file)) {
$line = fgets ($file, 1024);
fputs($file1,$line);
}
fclose($file);
fclose($file1);

Si los ficheros que envía el primer script son de texto la recepción por parte del segundo script se realiza perfectamente. El problema me aparece cuando intento enviar fichero en formato binario.

¿Que es lo que estoy haciendo mal?

Esto me esta volviendo loco....

Muchas gracias a todos y un saludo.

Nota: el primer script solo debe ser invocado desde el segundo script y este último es invocado desde linea de comandos.