Problemas con el uso de FTP_GET

dexto72
25 de Mayo del 2005
Hola a todos,

Me estoy volviendo loco con el siguiente problema. Espero que podáis ayudarme a solucionarlo. Sé que tiene que ser alguna tontería, pero no atino.

He utilizado el siguiente script para subir un archivo al servidor, y me funciona correctamente. Le paso desde una web las variables $servidor, $usuario, $password y $fichero. Las tres primeras almacenan el nombre del servidor, el del usuario y el password, obviamente. Por otro lado, $fichero, como su nombre indica, contiene la ruta y nombre del fichero que he obtenido en un input file:


<?
$conn_id = ftp_connect($servidor);
$login_result = ftp_login($conn_id, $usuario, $password);
if (!$conn_id)
{
echo "Error al intentar conectarse a ".$servidor." como el usuario ".$usuario;
die;
}
else
{
echo "Conectado a ".$servidor." como el usuario ".$usuario;
}
ftp_chdir($conn_id,"fmarina.allhyper.com/files");
$nombre=$_FILES['fichero']['name'];
$upload = ftp_put($conn_id, $nombre, $fichero, FTP_BINARY);
if (!$upload)
{
echo "La subida FTP ha fallado!";
}
else
{
echo "Subido el archivo a ".$servidor;
}
ftp_close($conn_id);
?>


Ahora bien, para el caso contrario, es decir, para descargar un archivo desde el servidor, he utilizado prácticamente el mismo código. La línea en donde utilizaba el ftp_put lógicamente la sustituyo por:

$descarga = ftp_get($conn_id, $file, $file, FTP_BINARY);

$file es una variable que envío desde una web, y que contiene el nombre del fichero que quiero descargar. El otro $file es la variable donde se copiará el archivo que descargo (como veis quiero que conserve el mismo nombre).

Bien, pues esta línea me da error, concretamente:

Warning: ftp_get(): Error opening documento.doc in c:inetpubwwwroot download.php on line 32
FTP download ha fallado!

• Download.php es el nombre de la página que contiene el script para descargar el archivo.
• Documento.doc es el valor de $file.
• La línea 32, como he dicho anteriormente, es la línea donde utilizo el ftp_get
• "FTP download ha fallado!" es el mensaje de error que tengo puesto por si falla algo, como es el caso.

¿Dónde está el error?

Un saludo y gracias,

Manuel