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]

Afficher les commentaires (0)

Commentaires

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

Comment publier des photos en 3D sur Facebook

Cette semaine, Facebook a annoncé l’arrivée des photos en 3D sur sa plateforme. La fonctionnalité est un peu gadget et ne casse résolument pas 3...

Publié le par Cyrielle Maurice
Webmarketing

Les 7 tendances 2020 du Marketing B2B

L’explosion des contenus marketing sur la toile rend difficile la communication digitale des entreprises du B2B. Les stratégies commerciales doivent être systématiquement...

Publié le par Elise Duret