Ciao a tutti
Sto utilizzando la classe Excel Reader per popolare un db mysql tramite il caricamento automatizzato ( e schedulato ) di un file excel.
Tutto funziona bene, ma c'è un'anomalia strana per quanto riguarda un campo che contiene una data. Non è che non la legga o non la scriva: è che la scrive portandola avanti di un giorno, cioè se il dato in excel è 01/02/2009, lui in database (e anche a video) restituisce 02/02/2009.
Vi lascio il codice:

Codice PHP:
<?php

require_once 'Excel/reader.php';
require_once 
'conn.inc.php';
require_once 
'connect.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251'); // Set output Encoding.
$data->read('file_excel.xls');
error_reporting(E_ALL E_NOTICE);

function 
convertiData($datainiz){
$dataFinale explode ('/',$datainiz);
$dataFinale array_reverse($dataFinale);
//echo $datainiz; <---- anche questi echo restituiscono la data avanti di 1 giorno!
//echo $dataFinale[2]; <---- anche questi echo restituiscono la data avanti di 1 giorno!
return implode($dataFinale,'-');
}

echo 
"<table border='1'>";
for (
$i 3$i <= $data->sheets[0]['numRows']; $i++) {
        echo 
"<tr>";
    for (
$j 1$j <= $data->sheets[0]['numCols']; $j++) {
        echo 
"<td>".$data->sheets[0]['cells'][$i][$j]."</td>";
        
$campo_1 $data->sheets[0]['cells'][$i][2];
        
$campo_2 $data->sheets[0]['cells'][$i][3];
        
$campo_3 $data->sheets[0]['cells'][$i][4];
        
$campo_4 $data->sheets[0]['cells'][$i][5];
        
$data_4 convertiData($campo_4);
        
$campo_5 $data->sheets[0]['cells'][$i][6];
    }
            
$insert "INSERT INTO tabella (Lavorazioni,SS,TDOC,DATA,DOCUMENTI) VALUES ('$campo_1','$campo_2','$campo_3','$data_4','$campo_5')";
            
$ris dbquery($insert);
            
    echo 
"</tr>";

}
echo 
"</table>";

?>
Idee? Grazie mille!