Problemas con el uso de FTP_GET
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
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
