Salut a tous,
J'ai un probleme lorsque j'essaye de dezipper un fichier cote serveur: zip_open renvoit systematiquement une erreur (que je n'ai pas reussi a identifier) empechant la decompression du fameux fichier.
voila le code de mon fichier unzip.php :
et je l'utilise par le biais d'un lien du type :
(le fichier root/test.ZIP existant bien ^^)
J'ai tout essaye (ajouter des get_cwd, etc) mais pourtant l'appel de mon code renvoit systematiquement "Impossible d'ouvrir le fichier root/test.ZIP..."
Quelqu'un peut me venir en aide ?
Merci
J'ai un probleme lorsque j'essaye de dezipper un fichier cote serveur: zip_open renvoit systematiquement une erreur (que je n'ai pas reussi a identifier) empechant la decompression du fameux fichier.
voila le code de mon fichier unzip.php :
<?php
function Unzip($file, $path='')
{
$nbfiles = 0;
$zip = zip_open($file);
if ($zip)
{
while ($zip_entry = zip_read($zip))
{
if (zip_entry_filesize($zip_entry) > 0)
{
$fullpath = $path.dirname(zip_entry_name($zip_entry));
$filename = zip_entry_name($zip_entry);
$filename = strtr($filename, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
$filename = strtolower($filename);
$filename = ereg_replace('[^a-zA-Z0-9.]','-',$filename);
$fullfilename = $path.$filename;
if(!file_exists($fullpath))
{
$tmp = '';
foreach(explode('/',$fullpath) as $k)
{
$tmp .= $k.'/';
if(!file_exists($tmp))
{
mkdir($tmp, 0777);
echo '<li>Répertoire: '.$filename.'</li>';
}
}
}
if (zip_entry_open($zip, $zip_entry, "r"))
{
$fd = fopen($fullfilename, 'w');
fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)));
fclose($fd);
zip_entry_close($zip_entry);
echo '<li>Fichier: '.$fullfilename.'</li>';
$nbfiles += 1;
}
}
}
zip_close($zip);
}
else
{
echo '<p>Erreur : impossible d\'ouvrir le fichier <strong>'.$file.'</strong>!</p>';
}
echo '<p>'.$nbfiles.' fichiers décompressés.</p>';
}
$f = $_GET['file'];
$p = $f.'_UNCOMPRESSED/';
Unzip($f, $p);
?>
et je l'utilise par le biais d'un lien du type :
<a href="unzip.php?file=root/test.ZIP'">[décompresser]</a>
(le fichier root/test.ZIP existant bien ^^)
J'ai tout essaye (ajouter des get_cwd, etc) mais pourtant l'appel de mon code renvoit systematiquement "Impossible d'ouvrir le fichier root/test.ZIP..."
Quelqu'un peut me venir en aide ?
Merci
