open($tmp_name);
$valid_ext = array('jpg','png','gif','jpeg');
if ($res === TRUE) {
for($i = 0; $i < $zip->numFiles; $i++){
$nom=$zip->getNameIndex($i);
if(strpos($nom, "__MACOSX") === false){
$fileParts = pathinfo($nom);
//print_r($fileParts);
if(!isset($fileParts['extension'])){
continue;
}
$ext = strtolower($fileParts['extension']);
if(in_array(strtolower($ext),$valid_ext)){
//echo $fileParts['basename']."
";
$zip->extractTo(CHEMIN.DOSSIER_UPLOAD,$nom);
}
} else {
// erreur !
}
}
$zip->close();
echo 'Unzippé !
Redirection dans un instant';
} else {
echo 'Echec !
Quelque chose s\'est mal passé';
}
*/
die();
}
function zip_flatten ( $zipfile, $dest='.' ){
$valid_ext = array('jpg','png','gif','jpeg');
$zip = new ZipArchive;
if ( $zip->open( $zipfile ) ){
for ( $i=0; $i < $zip->numFiles; $i++ ){
$entry = $zip->getNameIndex($i);
if ( substr( $entry, -1 ) == '/' ) continue; // skip directories
$ext = strtolower(pathinfo($entry, PATHINFO_EXTENSION));
if(!in_array(strtolower($ext),$valid_ext)){
continue;
}
$fp = $zip->getStream( $entry );
$ofp = fopen( $dest.'/'.basename($entry), 'w' );
if ( ! $fp )
throw new Exception('Unable to extract the file.');
while ( ! feof( $fp ) )
fwrite( $ofp, fread($fp, 8192) );
fclose($fp);
fclose($ofp);
}
$zip->close();
}
else
return false;
return $zip;
}
?>