Estrarre archivi sul server con php

Stampa E-mail

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 php

PclZip (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) 

Ultimo aggiornamento ( venerdė 22 giugno 2007 )

Home arrow Webdesign arrow Estrarre archivi sul server con php

 I Feed RSS di miniDesign

In evidenza
Il file htaccess
Tutorial mappa Google
Ultime notizie
Le pių lette
Ricerca rapida