Come creare applicazioni web autoaggiornabili con php parte 3

Posted on 28. Sep, 2008 by Administrator in php, tutorials


Parte 1: http://www.sastgroup.com/...autoaggiornabili-con-php
Parte 2: http://www.sastgroup.com/...-autoaggiornabili-con-php-parte-2

Ultimo articolo che chiude i primi due su come creare applicazioni web autoaggiornabili con php.
Oggi vi incollo il codice, in seguito vediamo se lo scriviamo meglio:

 
< ?php
//classe per la decompressione
include('lib/php/pclzip.lib.php');
include('lib/php/utility.php');
 
$temp="tmp";  //cartella temporanea dove scaricare i files
$filedascaricare="http://www.sito.com/ftptest.zip";
//prelevo il nome del file
$filename=basename($filedascaricare);
 
echo"1. Scarico il file : <strong>$filedascaricare ($filename) nella cartella ";
echo"<strong>$temp</strong>";
sleep(2);
 
  //lo apro
$handle = fopen("$filedascaricare", "rb");
if($handle){
  $somecontent = get_file_contents("$filedascaricare");
  fclose($handle);
 
  //e lo metto nella cartella temporanea
  $handle = fopen($temp."/".$filename, 'wb');
  if($handle){
    if (fwrite($handle, $somecontent) === FALSE) {
       echo " <strong>ERRORE</strong> a scrivere il file ($filename)";
       exit;
    }else  echo " <strong>Successo</strong>, scritto nel file ($filename)";
    //cambio permessi
    chmod("$temp/$filename", 0777);
 
    sleep(2);
 
   //prendo il file e lo decomprimo nella cartella temporanea
    $archive = new PclZip("$temp/$filename");
    if ($archive->extract(PCLZIP_OPT_PATH, "./$temp/",PCLZIP_OPT_REMOVE_PATH, '') == 0) {
      echo " ERRORE DECOMPRESSIONE";
    }else echo" Files decompressi con successo";
 
    sleep(2);
 
    echo"2. Elimino file $filename";
    //cancello file zip
    if(unlink("$temp/$filename"))echo"  $filename eliminato";
    else echo" ERRORE eliminazione $filename";
    sleep(2);
 
    echo"3 bis. Copio ricorsivamente files ";
    cp($temp,".");
 
    sleep(2);
 
    echo"4. Elimino i files temporanei";
   //eliminare tutti i file della cartella temporanea
    recursive_remove_directory($temp);
    //lo ricreo
    mkdir($temp,0777);
 
    //closedir($handled);
    fclose($handle);
 
  }else{
     echo " Non riesco a creare il file ($filename)";
     //exit;
  }
}
?>
 


Correlati

Leave a reply