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:
¿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" ?* 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; }
Saludos y muchas gracias