In questi giorni ho fatto un aggiornamento del sito e si è riproposto il solito problema della lentezza del caricamento dei file via ftp. Quando le cartelle e i file da trasferire sul server sono centianaia o addirittura migliaia, si va incontro a notevoli perdite di tempo. Allora mi sono messo alla ricerca di un tool che permettesse di estrarre gli archivi .zip direttamente sul server. Mi sono così imbattuto nella libreria PclZip.
Pclzip: unzip dei file con phpPclZip (Php Concept Library Zip) è una libreria che offre funzioni di compressione ed estrazione di archivi .zip. Sul sito ufficiale si può trovare un ampia documentazione in lingua inglese e degli esempi. Tuttavia non è fornito in download uno script completo che consenta l'immediato utilizzo della libreria. Così ho pensato di realizzarne uno semplice semplice. La sola modifica che ho fatto all'unico file di cui si compone la libreria è quella relativa a $v_path, la variabile che stabilisce in quale directory l'archivio debba essere aperto. Di default è quella in cui si trova lo script. Ho preferito invece far si che l'archivio fosse decompresso in quella superiore, in modo che dopo l'estrazione si possa semplicemente cancellare tutta la directory di PclZip. Lo script Ecco il codice contenuto nel mio file unzip.php, che si aggiunge a quello della libreria. <?php
require_once('pclzip.lib.php'); $nome_file=$_POST['nome']; $archive = new PclZip($nome_file); $list = $archive->extract(PCLZIP_OPT_EXTRACT_DIR_RESTRICTION, $v_path);
if ($archive->extract() == 0) { die("<p>Si è verificato un errore: <br /> ".$archive->errorInfo(true)."</p><p><input type=\"button\" value=\"Riprova\" onClick=\"javascript:history.back(1)\">"); } else { echo "<h1>Operazione eseguita.</h1><p>L'archivio ".$nome_file." è stato aperto con successo nella cartella di destinazione. <br />Ora pui rimuovere il file.zip dal server.</p><p> Puoi provare ad accedere al file <a href=\"../\">index</a>. In ogni caso potrai visualizzare i file estratti via ftp.</p>"; } ?> Il terzo ed ultimo file del pacchetto è un form html che permette di indicare il nome del file da decomprimere. Si può scaricare il tutto dalla sezione download . Discuti di questo articolo sul forum. (0 posts) |