Foros del Web » Programando para Internet » PHP »

Cargar siempre el fichero mas reciente de un ftp en PHP

Estas en el tema de Cargar siempre el fichero mas reciente de un ftp en PHP en el foro de PHP en Foros del Web. Hola Amig@s. Con un script en PHP, necesito descargar a diario a mi servidor un fichero de un ftp externo. Este fichero se genera todos ...
  #1 (permalink)  
Antiguo 20/12/2012, 14:52
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 2
Cargar siempre el fichero mas reciente de un ftp en PHP

Hola Amig@s.
Con un script en PHP, necesito descargar a diario a mi servidor un fichero de un ftp externo. Este fichero se genera todos los días con un nombre diferente. Es decir.
AAA-2012-12-14.txt el 14 de diciembre del 2012
AAA-2012-12-15.txt el 15 de diciembre del 2012
AAA-2012-12-17.txt el 17 de diciembre del 2012 y así sucesivamente...


¿Me podrían ayudar por favor?
Muchas gracias.
  #2 (permalink)  
Antiguo 20/12/2012, 15:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Cargar siempre el fichero mas reciente de un ftp en PHP

Saludos y bienvenido, te recomiendo la lectura de ftp de PHP
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 20/12/2012, 15:48
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Cargar siempre el fichero mas reciente de un ftp en PHP

Muchas gracias por tu recomendación.
Tengo esto
<?php

// ruta al archivo remoto
$remote_file = 'AAA-2012-12-19.zip';
$local_file = 'AAA-2012-12-19.zip';

// abrir un archivo para escribir
$handle = fopen($local_file, 'w');


$ftp_server = 'xxxxxx';
$ftp_user_name = 'xxxxxx';
$ftp_user_pass = 'xxxxxxx';

// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intenta descargar un $remote_file y guardarlo en $handle
if (ftp_fget($conn_id, $handle, $remote_file, FTP_ASCII, 0)) {
echo "Se ha escrito satisfactoriamente sobre $local_file\n";
} else {
echo "Ha habido un problema durante la descarga de $remote_file en $local_file\n";
}

// cerrar la conexión ftp y el gestor de archivo
ftp_close($conn_id);
fclose($handle);

?>



Pienso que en $remote_file debería de ir un comodín y a su vez algo que indique que cargue siempre el ultimo fichero generado.

¿Alguien más puede ayudarme por favor?
  #4 (permalink)  
Antiguo 27/01/2013, 14:05
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Cargar siempre el fichero mas reciente de un ftp en PHP

Como parece ser que nadie en este foro aporta su grano de arena, yo voy a aportar el mío. Aquí les dejo como lo hice.

$hoy = date("Y-m-j");
$extension = '.txt';
$file = 'ALL-'.$hoy.$extension;
$handle = fopen($file, "r");

Muchas gracias por molestarse en responder...
  #5 (permalink)  
Antiguo 27/01/2013, 14:13
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Cargar siempre el fichero mas reciente de un ftp en PHP

Gracias por el aporte
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 27/01/2013, 15:18
 
Fecha de Ingreso: diciembre-2012
Ubicación: Maracay
Mensajes: 25
Antigüedad: 11 años, 4 meses
Puntos: 2
Respuesta: Cargar siempre el fichero mas reciente de un ftp en PHP

Disculpen, me he confundido.
El código que he puesto anteriormente es para cargar un fichero desde el servidor local.
El siguiente código es para cargar desde un FTP externo el fichero generado diariamente llamado por ejemplo AAA-2012-12-19.zip donde cada día cambia la fecha según el día actual.


<?php



$hoy = date("Y-m-j");
$extension = '.txt.zip';
$fichero = 'AAA-'.$hoy.$extension;


$local_file = 'fichero.zip'; // el fichero será guardado en local con el nombre fichero.zip
$server_file = $fichero;

// Datos del FTP
$ftp_server = '*********';
$ftp_user_name = '********';
$ftp_user_pass = '********';



// establecer una conexión básica
$conn_id = ftp_connect($ftp_server);

// iniciar sesión con nombre de usuario y contraseña
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// intenta descargar $server_file y guardarlo en $local_file
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Se ha guardado satisfactoriamente en $local_file\n <br>";
} else {
echo "Ha habido un problema\n";
}

// cerrar la conexión ftp
ftp_close($conn_id);

require('unzip.php'); // para descomprimir el fichero...

?>

Etiquetas: ftp
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 22:46.