&reftitle.examples; Création d'une archive Zip open($filename, ZipArchive::CREATE)!==TRUE) { exit("Impossible d'ouvrir le fichier <$filename>\n"); } $zip->addFromString("testfilephp.txt" . time(), "#1 Ceci est une chaîne texte, ajoutée comme testfilephp.txt.\n"); $zip->addFromString("testfilephp2.txt" . time(), "#2 Ceci est une chaîne texte, ajoutée comme testfilephp2.txt.\n"); $zip->addFile($thisdir . "/too.php","/testfromfile.php"); echo "Nombre de fichiers : " . $zip->numFiles . "\n"; echo "Statut :" . $zip->status . "\n"; $zip->close(); ?> ]]> Affiche les détails de l'archive et liste son contenu open('test_with_comment.zip'); print_r($za); var_dump($za); echo "Nombre de fichiers : " . $za->numFiles . "\n"; echo "Statut : " . $za->status . "\n"; echo "Statut du système : " . $za->statusSys . "\n"; echo "Nom du fichier : " . $za->filename . "\n"; echo "Commentaire : " . $za->comment . "\n"; for ($i=0; $i<$za->numFiles;$i++) { echo "index : $i\n"; print_r($za->statIndex($i)); } echo "Nombre de fichiers :" . $za->numFiles . "\n"; ?> ]]> Flux ZIP : lit les meta-données d'un fichier OpenOffice open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml'); $odt_meta = array(); while ($reader->read()) { if ($reader->nodeType == XMLREADER::ELEMENT) { $elm = $reader->name; } else { if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') { break; } if (!trim($reader->value)) { continue; } $odt_meta[$elm] = $reader->value; } } print_r($odt_meta); ?> ]]> Cet exemple utilise l'ancienne API (PHP 4) ; il ouvre une archive ZIP, lit chaque fichier de l'archive et affiche son contenu. L'archive test2.zip utilisée dans cet exemple est une des archives de test, se trouvant dans les sources de ZZIPlib. Exemple d'utilisation de Zip ]]>