Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/01/2007, 20:30
kotosh
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años
Puntos: 0
Como descargar archivos via FTP usando un bucle en php

Estoy haciendo un update.php el cual me permitirá actualizar una aplicacion via FTP ejecutandolo del lado del cliente y descargando los ficheros del servidor.

Sin embargo al ejecutar el siguiente codigo, me da error cuando coloco el arreglo "$script1[$i]" el cual contiene el nombre y la ruta de los archivos a descargarse.

Este es mi codigo para bajar los ficheros:

Cita:
<?php
session_start();
set_time_limit(10000);

$servidor_ftp="192.168.1.4"; //nombre del servidor remoto
$ftp_nombre_usuario="Admin"; //nombre de usuario
$ftp_contrasenya="polivnte136"; //password de usuario

// configurar conexion basica
$id_con = ftp_connect($servidor_ftp);

// iniciar sesion con nombre de usuario y contrasenya
$resultado_login = ftp_login($id_con, $ftp_nombre_usuario, $ftp_contrasenya);

//Abrimos el fichero que contiene la ruta y el nombre de los files
$files="update_files.txt";
$script1=file($files); //array
$numeros1= count ($script1); //obtenemos la cantidad de elementos del array


// intentar la descarga de $archivo_servidor y guardarlo en $archivo_local
for($i=1;$i<$numeros1;$i++){ //bucle

if (ftp_get($id_con,$script1[$i], $script1[$i], FTP_BINARY)) {
echo "Se ha guardado satisfactoriamente en $archivo_local\n";
echo $script1[$i]."<br>";
} else {
echo "Ha ocurrido un problema\n";
}
}

// cerrar la conexion
ftp_close($id_con);

?>
Y este otro es el fichero "update_files.txt":
Cita:
//archivos a actualizar nro. 123
aw_images/128.jpg
aw_images/65.jpg
aw_images/head.jpg
aw_images/anonimo.jpg
aw_images/fondo.jpg
Al hacer el buble me sale este error:
Cita:
Warning: ftp_get(aw_images/128.jpg ) [function.ftp-get]: failed to open stream: Invalid argument in C:\skynet\www\erp\update_procesa.php on line 33

Warning: ftp_get() [function.ftp-get]: Error opening aw_images/128.jpg in C:\skynet\www\erp\update_procesa.php on line 33
Ha ocurrido un problema
Warning: ftp_get(aw_images/65.jpg ) [function.ftp-get]: failed to open stream: Invalid argument in C:\skynet\www\erp\update_procesa.php on line 33

Warning: ftp_get() [function.ftp-get]: Error opening aw_images/65.jpg in C:\skynet\www\erp\update_procesa.php on line 33
Ha ocurrido un problema
Warning: ftp_get(aw_images/head.jpg ) [function.ftp-get]: failed to open stream: Invalid argument in C:\skynet\www\erp\update_procesa.php on line 33

Warning: ftp_get() [function.ftp-get]: Error opening aw_images/head.jpg in C:\skynet\www\erp\update_procesa.php on line 33
Ha ocurrido un problema
Warning: ftp_get(aw_images/anonimo.jpg ) [function.ftp-get]: failed to open stream: Invalid argument in C:\skynet\www\erp\update_procesa.php on line 33

Warning: ftp_get() [function.ftp-get]: Error opening aw_images/anonimo.jpg in C:\skynet\www\erp\update_procesa.php on line 33
Ha ocurrido un problema
Warning: ftp_get(aw_images/fondo.jpg ) [function.ftp-get]: failed to open stream: Invalid argument in C:\skynet\www\erp\update_procesa.php on line 33

Warning: ftp_get() [function.ftp-get]: Error opening aw_images/fondo.jpg in C:\skynet\www\erp\update_procesa.php on line 33
Ha ocurrido un problema
NOTA:
- Las carpetas tienen los permisos de lectura, escritura
- El script funciona si reemplazo la variable donde vá la ruta destino por "aw_images/hola$i.jpg", pero eso me bajará los archivos con nombres tipo:
hola1.jpg, hola2.jpg,hola3.jpg... y eso no se quiere.

Agradeceré sus opiniones.
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com

Última edición por kotosh; 19/01/2007 a las 20:41