ホームページ  >  記事  >  バックエンド開発  >  PHPオンライン圧縮zip関数コード

PHPオンライン圧縮zip関数コード

WBOY
WBOYオリジナル
2016-07-25 08:54:44846ブラウズ
  1. /* PHP创建zip压缩包 */
  2. function create_zip($files = array(),$destination = '',$overwrite = false) {
  3. //zip ファイルがすでに存在する場合存在し、上書きが false の場合、 false を返します
  4. if(file_exists($destination) && !$overwrite) { return false; }
  5. //vars
  6. $valid_files = array();
  7. //ファイルが渡された場合...
  8. if(is_array($files)) {
  9. //各ファイルを循環
  10. foreach($files as $file) {
  11. //ファイルが存在することを確認してください
  12. if(file_exists($file)) {
  13. $valid_files[] = $file;
  14. }
  15. }
  16. }
  17. //適切なファイルがあれば...
  18. if(count( $valid_files)) {
  19. //アーカイブを作成します
  20. $zip = new ZipArchive();
  21. if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true ) {
  22. return false;
  23. }
  24. //ファイルを追加します
  25. foreach($valid_files as $file) {
  26. $zip->addFile($file,$file);
  27. }
  28. //debug
  29. //echo ' zip アーカイブには、ステータスが ',$zip->numFiles' ファイルが含まれています。
  30. //zip を閉じます -- 完了!
  31. $zip->close();
  32. / /ファイルが存在することを確認します
  33. return file_exists($destination);
  34. }
  35. else
  36. {
  37. return false;
  38. }
  39. }
  40. /***** アプリケーション ***/
  41. $files=array('1.php' , 'mail.php', 'readme.txt');
  42. create_zip($files, 'myzipfile.zip', true);
  43. ?>
复制代码


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。