Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/01/2016, 15:34
lepe
 
Fecha de Ingreso: febrero-2008
Mensajes: 160
Antigüedad: 16 años, 2 meses
Puntos: 1
Buscar siempre un mismo fichero en php

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

Última edición por lepe; 13/01/2016 a las 15:41