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

Et si on ouvrait le Nexus One ?

C’est une bonne question. Qu’est ce que se cache-t-il sous cette jolie coque ? Après l’annonce de sortie officielle d’hier, certain on déjà eu...

Publié le par Team WebActus
Webmarketing

Google pénalisera les sites non-HTTPS à partir de Juillet 2018

C’est officiel  : les sites non-HTTPS seront pénalisés à partir de Juillet 2018, comme l’a annoncé Google dans un billet de blog....

Publié le par Leo Chatillon