Muy buenas gente
Tengo un modulo que me actualiza precios leyeendo ficheros csv de una carpeta del servidor, estilo de ruta: /httpdocs/csv/20160113.csv
La programación busca el nombre del .csv que tiene la fecha más actualizada para posteriormente actualizar precios y stock con una tarea cron.
Ejemplo csv a actualizar:
csv recibido hoy seria 20160113.csv (Entre los 3 csv se actualizaria este)
el csv recibido ayer seria 20160112.csv
anteayer 20160111.csv
El codigo de la programación que hace que se tome como referencia la fecha es como sigue:
Código:
* Logic
*/
public function import() {
$conection = ftp_connect($this->configVars['INV_FTP_HOST']);
$login = ftp_login($conection, $this->configVars['INV_FTP_USER'], $this->configVars['INV_FTP_PASSWORD']);
if ((!$conection) || (!$login)) {
$this->_errors[] = $this->l('Conection failed');
return FALSE;
}
if (ftp_chdir($conection, $this->configVars['INV_FTP_PATH']) === FALSE) {
$this->_errors[] = $this->l('Conection failed');
return FALSE;
}
$files = ftp_nlist($conection, ".");
rsort($files);
$current_date = date('Ymd');
$filename = NULL;
foreach ( $files as $_file ) {
$file_name = str_replace('.csv', '', $_file);
if (is_numeric($file_name)) {
$filename = $_file;
break;
}
}
if (is_null($filename)) {
$this->_errors[] = $this->l('No valid files was found.');
return FALSE;
}
$local_file = dirname(__FILE__) . '/files/' . $filename;
if (ftp_get($conection, $local_file, $filename, FTP_BINARY) === FALSE) {
$this->_errors[] = $this->l('An error was ocurred while trying download the file: ' . $filename);
return FALSE;
}
if (!file_exists($local_file)) {
$this->_errors[] = $this->l('Local file is not found in: ' . $local_file);
return FALSE;
}
¿Saben ustedes que codigo poner para que la programación ignore la elección de actualizar el fichero en función de la fecha y que simplemente busque siempre el mismo fichero a actualizar con el nombre "supplier_prices.txt" ?
Saludos y muchas gracias