ciao a tutti, sto creando uno scriptino che copi dei file da una cartella ad un altra, fin qui tutto bene.
Ora vorrei 'invecchiare' i file rimasti nella cartella originaria dei file, il problema è che ciò avviene , ma il file 'n1' lo 'invecchia 2 volte'.
Il mio risultato finale momentaneamente è :
pippo.csv.old.old.old
minni.txt
mimmo.csv.old.old
fra.txt
axis.txt
topolino.old
come posso fare in maniera che nn invecchi 2 volte ?
secondo problema il file una volta che lo invecchia mi resta il suffisso csv, cosi che quando lo script copia il file sucessivo mi inserisce anche il precedente nella cartella destinataria, questo accade perchè ho un array che verifica se il suffisso csv è presente , come posso fare per eliminare il suffisaso e meterci al suo posto .old?
vi posto lo script!
Codice PHP:
$opendir = opendir ("path assoluta");
$destcsv = "export/";
$i= 0 ; // numero di file scaricabili
while($filedir = readdir($opendir)){
$destinazione_finale = $destcsv."".$filedir;//destinazione finale del file
//se sono file nascosti non li considero
if ($filedir == "."){continue;}
if ($filedir == ".."){continue;}
$elementi=explode('.',$filedir);
$conto = count ($elementi);
$conto = $conto+1;
echo "Conteggio dei file nella directory = Nº".$conto;
echo "
".$destinazione_finale."
";
if ($elementi[1]=='csv'){
$i++;
$copia = copy("path assoluta".$filedir, $destinazione_finale);
echo "valore copia = "; var_dump($copia); echo "
";
if (!$copia){
echo "Copia FALLITA
";
$destlog = "path assoluta/test_copia".$oggi_data.".txt";
$openlog = fopen($destlog,"a");
$testo = "Il file : ".$filedir." non è stato copiato nella cartella ".$destcsv."\r\n";
$scrivo =fwrite($openlog ,$testo);
fclose($openlog);
}else{
echo "Copia RIUSCITA
";
$destlog = "path assolutatest_copia1".$oggi_data.".txt";
$openlog = fopen($destlog,"a");
$testo = "Il file : ".$filedir."COPIA OK ".$destcsv."\r\n";
$scrivo =fwrite($openlog ,$testo);
fclose($openlog);
$rename = rename ("path assoluta".$filedir , "path assoluta".$filedir.".old");
}
}
}
closedir($opendir);