Ciao a tutti, devo far eseguire un'operazione da linea di comando sul server per scompattare dei file utilizzando IZArc.
Ora vorrei verificare che tale operazione sia andata a buon fine e nel caso catturare eventuali errori durante la scompattazione.
Il codice è il seguente:
codice:
function estraiFile_indiciCSV($file){
eliminaFileEsistenti($file);
echo " Estrazione dei file \n";
system('..\\script\\bin\\IZArc\\IZArc -ef '.getcwd().'\\temp '.$file, $return_var);
if($return_var === false){
trigger_error(" Errore durante l'estrazione del file .zip \n");
}else if($return_var == 0){
//echo "returned var ".$return_var." \n";
trigger_error(" Errore durante l'estrazione del file .zip \n");
}else{
//echo "returned var ".$return_var." \n";
echo " File estratti con successo \n";
}
}
Ora, in qualsiasi caso la funzione system() mi restiruisce un errore (mi dà un PHP Notice) SEPPUR portando a termine correttamente la scompattazione!
La funzione mi restituisce il valore 0 entrando quindi nel secondo if.
Da manuale, dovrebbe restituire false se fallisce, ma quel controllo non lo degna di uno sguardo...
Ci tengo a sottolineare che pure exec() e passthru() fanno la stessa cosa...