本文整理汇总了PHP中Clean::zip_filename方法的典型用法代码示例。如果您正苦于以下问题:PHP Clean::zip_filename方法的具体用法?PHP Clean::zip_filename怎么用?PHP Clean::zip_filename使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Clean
的用法示例。
在下文中一共展示了Clean::zip_filename方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: unzip
/**
* Dezipper une archive contenant un ensemble de fichiers dans un dossier, avec son arborescence.
*
* Inspiré de http://fr.php.net/manual/fr/ref.zip.php#79057
* A l'origine pour remplacer $zip = new ZipArchive(); $result_open = $zip->open($fichier_import); qui plante sur le serveur Nantais s'il y a trop de fichiers dans le zip (code erreur "5 READ").
* Mais il s'avère finalement que ça ne fonctionne pas mieux...
*
* @param string $chemin_fichier_zip
* @param string $dossier_dezip
* @param bool $use_ZipArchive FALSE permet de nettoyer les noms des fichiers extraits : à préférer donc
* @return int code d'erreur (0 si RAS)
*/
public static function unzip($chemin_fichier_zip,$dossier_dezip,$use_ZipArchive)
{
// Utiliser la classe ZipArchive http://fr.php.net/manual/fr/class.ziparchive.php (PHP 5 >= 5.2.0, PECL zip >= 1.1.0)
if($use_ZipArchive)
{
$zip = new ZipArchive();
$result_open = $zip->open($chemin_fichier_zip);
if($result_open!==TRUE)
{
return $result_open;
}
$zip->extractTo($dossier_dezip);
$zip->close();
}
// Utiliser les fonctions Zip http://fr.php.net/manual/fr/ref.zip.php (PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PECL zip >= 1.0.0)
else
{
$ds = (substr($dossier_dezip,-1)==DS) ? '' : DS ;
$contenu_zip = zip_open($chemin_fichier_zip);
if(!is_resource($contenu_zip))
{
return $contenu_zip;
}
while( $zip_element = zip_read($contenu_zip) )
{
zip_entry_open($contenu_zip, $zip_element);
if (substr(zip_entry_name($zip_element), -1) == DS)
{
// C'est un dossier
mkdir( $dossier_dezip.$ds.zip_entry_name($zip_element) );
}
else
{
// C'est un fichier
file_put_contents( $dossier_dezip.$ds.Clean::zip_filename(zip_entry_name($zip_element)) , zip_entry_read($zip_element,zip_entry_filesize($zip_element)) );
}
zip_entry_close($zip_element);
}
zip_close($contenu_zip);
}
// Tout s'est bien passé
return 0;
}