Navigation

Toutes les catégories

Filtrer par auteur

Voir les derniers articles

PHP – Fonction unzip

Cette fonction comme son nom l’indique elle permet d’unzip un fichier. Il est possible d’effacer le zip en mettant la varible wipe_zip a true. Dans le cas où le...

Publié par Team WebActus

Cette fonction comme son nom l’indique elle permet d’unzip un fichier. Il est possible d’effacer le zip en mettant la varible wipe_zip a true.

Dans le cas où le zip est corrompu ou le fichier passé en paramètre n’est pas un zip alors la fonction renvoie FALSE.

Dans le cas où tout fonctionne correctement elle retourne un tableau des noms de fichiers extraits.


[php]function unzip($file, $path= », $wipe_zip=false){
$tab_liste_fichiers = array() ; //Initialisation
$zip = zip_open($file) ;

if (is_resource($zip)) {
while ($zip_entry = zip_read($zip)) {
if (zip_entry_filesize($zip_entry) > 0){
$complete_path = $path.dirname(zip_entry_name($zip_entry)) ;
/*On supprime les éventuels caractères spéciaux et majuscules*/
$nom_fichier = zip_entry_name($zip_entry) ;
$nom_fichier = strtr($nom_fichier,
« ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ »,
« AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn ») ;
$nom_fichier = strtolower($nom_fichier) ;
$nom_fichier = preg_replace(‘/[^a-zA-Z0-9.]/’,’-‘,$nom_fichier) ;
/*On ajoute le nom du fichier dans le tableau*/
array_push($tab_liste_fichiers,$nom_fichier) ;
$complete_name = $path.$nom_fichier ;
if( !file_exists($complete_path)){
$tmp =  » ;
foreach(explode(‘/’,$complete_path) AS $k) {
$tmp .= $k.’/’ ;
if( !file_exists($tmp)){
mkdir($tmp, 0755) ;
}
}
}
/*On extrait le fichier*/
if (zip_entry_open($zip, $zip_entry, « r »)) {
$fd = fopen($complete_name, ‘w’) ;

fwrite($fd, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry))) ;

fclose($fd) ;
zip_entry_close($zip_entry) ;
}
}
}
zip_close($zip) ;

/*On efface éventuellement le fichier zip d’origine*/
if ($wipe_zip === true){
unlink($file) ;
}

return $tab_liste_fichiers ;
}
return FALSE ;

}[/php]

Newsletter WebActus

Abonnez-vous pour recevoir notre sélection des meilleurs articles directement dans votre boîte mail.

Nous ne partagerons pas votre adresse e-mail.

Articles similaires

Webmarketing

Mozilla lance la Fondation Rust pour assurer l’avenir de son langage de programmation

Microsoft, Google, Amazon et d’autres grandes entreprises ont rejoint la Fondation Rust, pour participer au développement du langage de programmation. L’article...

Publié le par Arthur Aballea
Webmarketing

Gmail autorise des développeurs d’applications tierces à lire vos emails

Google et la lecture des emails, c’est une longue histoire. Il y a un an déjà, la firme de la Silicon Valley annonçait qu’elle cessait la lecture...

Publié le par Cyrielle Maurice