|
Mit dem Code kann eine *.zip Datei die eine Ordnerstruktur und Dateien
enthalten Entpacken.
Die Ordner Struktur bleibt dabei erhalten. Die Extensions php_zip.dll muss
aktiviert sein.
<?php
if (function_exists('zip_open'))
{
/* Absolute Pfadangabe ist hier erforderlich! */
$zip_datei = 'E:/web_explorer/page/test/page.zip';
/* relative Pfadangabe mit abschließendem Slash " / " */
$ziel_ordner = './test/';
if (file_exists($zip_datei) && ($zip = zip_open($zip_datei)))
{
while($zip_entry = zip_read($zip))
{
$file_name = zip_entry_name($zip_entry);
$file_size = zip_entry_filesize($zip_entry);
$comp_meth = zip_entry_compressionmethod($zip_entry);
if (zip_entry_open($zip, $zip_entry, 'rb'))
{
$buffer = zip_entry_read($zip_entry, $file_size);
if (preg_match('/\/$/', $file_name) && ($comp_meth == 'stored'))
{
if (!is_dir($ziel_ordner . $file_name))
@mkdir($ziel_ordner . $file_name, 0777);
}
else
{
$fp = fopen($ziel_ordner . $file_name, 'wb');
fwrite($fp, $buffer);
fclose($fp);
}
zip_entry_close($zip_entry);
}
}
zip_close($zip);
}
else
echo 'Konnte die Datei <font color="#ff0000">' . basename($zip_datei) .
'</font> nicht öffnen!';
}
else
echo 'Bitte aktivieren Sie in der php.ini die Extensions '
. '<font color="#ff0000">php_zip.dll</font> in dem
sie '
. 'das Semikolon vor dieser Zeile <font color="#ff0000"><b>;</b></font>'
. '<font color="#0000ff">extension=php_zip.dll</font>
entfernen.';
?>
|
|