Originariamente inviato da gianiaz
Ciao, mi sono letto questo articolo:

http://php.html.it/articoli/leggi/20...zip-con-php-5/

molto interessante, ma anche leggendo php.net non sono riuscito a capire come fare a fare una semplice estrazione di uno zip.

Ho provato cosi, ma non funziona, ovviamente c'è qualcosa che mi sfugge:

codice:
<?php
require_once('../common_classes/Utils.Class.php');

$dir_dest = 'D:\\www\\tests\\zipphp52\\extracted\\';

if(!is_dir($dir_dest)) {
  mkdir($dir_dest);
}

$archive = new ZipArchive();
$zip_file = 'gianiaz.zip';

$archive->open($zip_file);

for ($i=0; $i<$archive->numFiles; $i++) {

  $file = $archive->statIndex($i);

  if($file['size']) {
    $handle = fopen('zip:///'.$zip_file.'#'.$file['name'], 'r');
    $contents = fread($handle, $file['size']);
    fclose($handle);
    $handle = fopen($dir_dest.basename($file['name']));
    fwrite($handle, $contents);
    fclose($handle);
  }

}
Ottengo il seguente warning per ogni file:

Warning: fopen(zip:///gianiaz.zip#Logo_gianiaz.jpg) [function.fopen]: failed to open stream: No such file or directory in D:\www\tests\zipphp52\read.php on line 22


Lo zip si trova nella stessa directory dello script.

Forse mi sfugge qualcosa riguardo gli streams... mbho... qualcuno mi aiuta?

ciao
come non detto, non avevo visto il metodo extractTo..

grazie lo stesso