Foros del Web » Programando para Internet » PHP »

Como descargar archivos via FTP usando un bucle en php

Estas en el tema de Como descargar archivos via FTP usando un bucle en php en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/01/2007, 20:30
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 6 meses
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
  #2 (permalink)  
Antiguo 19/01/2007, 21:35
 
Fecha de Ingreso: diciembre-2006
Mensajes: 6
Antigüedad: 17 años, 11 meses
Puntos: 0
Re: Como descargar archivos via FTP usando un bucle en php

Hola, probe el bucle en mi servidor y va bien, el problema que veo es que usas windows y las barras de linux son al reves que las de windows.

Asi que aw_images/128.jpg no será correcto para tu windows y por eso me temo que te da el error.

Prueba cambiar las barras en tu txt:

aw_images\128.jpg
aw_images\65.jpg
aw_images\head.jpg
aw_images\anonimo.jpg
aw_images\fondo.jpg

Saludos.
  #3 (permalink)  
Antiguo 20/01/2007, 09:09
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: Como descargar archivos via FTP usando un bucle en php

acabo de probar lo que me dices de diferentes formas y tengo el mismo problema:

aqui el codigo modificado:

Cita:
for($i=1;$i<$numeros1;$i++){ //bucle

//invierte los slash de linux a windows
$windows[$i]=str_replace("/","\\",$script1[$i]);
echo $windows[$i]."<br>"; //esto pinta bien
// mi servidor y mi cliente son windows.
//Tambien probe cambiado el archivo de texto.
if (ftp_get($id_con, $windows[$i], $windows[$i], FTP_BINARY)) {
//echo "Se ha guardado satisfactoriamente en $archivo_local\n";
} else {
echo "Ha ocurrido un problema\n";
}
}
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #4 (permalink)  
Antiguo 20/01/2007, 12:52
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: Como descargar archivos via FTP usando un bucle en php

alguna idea?
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #5 (permalink)  
Antiguo 20/01/2007, 16:18
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: Como descargar archivos via FTP usando un bucle en php

les agradecere me den alguna idea sobre este tema.
Saludos
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
  #6 (permalink)  
Antiguo 23/01/2007, 12:20
 
Fecha de Ingreso: mayo-2002
Mensajes: 486
Antigüedad: 22 años, 6 meses
Puntos: 0
Re: Como descargar archivos via FTP usando un bucle en php

Probando de distintas formas note que este script funciona pero con "Una cabeda de texto" mas no con variables...

Alguien podria confirmarme?
__________________
Sistemass.com - Centro de capacitación profesional
http://www.sistemass.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.