della serie "non dire gatto se non ce l'hai nel sacco"
Ho un po' sviluppato il codice che pensavo andasse bene perchè quello che devo realizzare è uno script che, oltre a cercare i file excel con un nome predefinito nelle cartelle, devo anche comparare la data di ultima modifica degli stessi e, se superiore al valore presente in un DB, fare un aggiornamento nel DB stesso....e, se il file non è proprio riportato nel DB, aggiungerlo.
Ecco come ho sviluppato lo script:
[PHP]
$fso = new COM("Scripting.FileSystemObject");
$myDir = $_SERVER["DOCUMENT_ROOT"] . "/PIPPO";
if(file_exists($myDir)) {
$myFolder = $fso -> GetFolder($myDir);
// ricerca nuovi file
foreach($myFolder -> Subfolders AS $sFld) {
$objFolder = $fso -> GetFolder($sFld -> Path);
$colFiles = $objFolder -> Files;
foreach($colFiles As $objFile) {
$ext = strtolower(substr($objFile, strrpos($objFile, "."), strlen($objFile) - strrpos($objFile, ".")));
if($ext == ".xls") {
if((strpos((basename($objFile, ".xls")), "PLUTO") !== FALSE)) {
$nome_file = basename($objFile); //nome file
$patch_file = dirname($objFile); //percorso del file
$data_ultima_modifica = date("m-d-Y H:i:s", filemtime($objFile)); //data modifica
// cerco se il file è già presente nel DB
$res = mysql_query("SELECT * FROM paperino WHERE nome_file = '".$nome_file."' AND patch_file = '".$patch_file."' AND attivo = '1'");
$res1 = mysql_num_rows($res);
// se è nuovo
if ($res1 == 0) {
// lo aggiungo al DB
mysql_query ("INSERT INTO paperino VALUES (NULL, '".$nome_file."', '".$patch_file."', '".$objFile."', '".$data_ultima_modifica."', '1')");
echo "ok<br>";
}
}
}
}
}
} else {
echo "Errore: "" . $myDir . "" non esiste!";
}
[/PHP]
Va tutto bene fino a questa riga di codice: mysql_query ("INSERT INTO paperino VALUES (NULL, '".$nome_file."', '".$patch_file."', '".$objFile."', '".$data_ultima_modifica."', '1')");, nel senso che non fa le query inserendo i valori el DB. La cosa strana, però, è che mi restituisce tanti "ok" quanti sono i file nuovi che trova e che dovrebbe aggiungere nel DB.
Perchè non funziona???