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...