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

L’iPad en chiffres et la grogne des distributeurs

Depuis le lancement de l'iPad le 28 Mai en France, et à l'international, il est toujours aussi difficile de savoir combien d'iPad se sont vendus et surtout combien il en reste...

Publié le par Team WebActus
Webmarketing

Tout savoir sur les Tendances YouTube : critères pour y figurer, catégories, règles à respecter…

Découvrez les différentes tendances présentes sur YouTube, ainsi que sur les critères pour y figurer.

Publié le par Arthur Aballea