ホームページ > バックエンド開発 > PHPチュートリアル > PHP圧縮ファイルはzip形式の関数コードです

PHP圧縮ファイルはzip形式の関数コードです

WBOY
リリース: 2016-07-25 08:59:22
オリジナル
976 人が閲覧しました
  1. /* @圧縮zipファイルを作成 複数のファイルを一つのzipファイルに圧縮する関数
  2. * @$files array typeinstance array("1.jpg","2.jpg" );
  3. * @destination 対象ファイルのパスは「c:/androidyue.zip」などです
  4. * @$overwrite 対象ファイルと同じファイルを上書きするかどうか
  5. * @site http://bbs.it-home. org
  6. * /
  7. function create_zip($files = array(),$destination = '',$overwrite = false) {
  8. //zip ファイルが既に存在し、上書きが false の場合は false を返します
  9. //zip ファイルが存在する場合すでに存在し、上書きが false の場合は false を返します
  10. //zip ファイルが既に存在し、上書きが設定されている場合は書き換えない場合は false を返します
  11. if(file_exists($destination) && !$overwrite) { return false; }
  12. //vars
  13. $valid_files = array();
  14. // ファイルが渡された場合...
  15. // 実際の有効なファイル名を取得します
  16. if(is_array($files)) {
  17. // 各ファイルを循環します
  18. foreach($files as $file) {
  19. //ファイルが存在することを確認します
  20. if(file_exists($file) ) {
  21. $valid_files[] = $file; }
  22. }
  23. }
  24. // 適切なファイルがある場合...
  25. //実際の有効なファイルがある場合
  26. if(count($valid_files)) {
  27. // アーカイブを作成します
  28. $zip = new ZipArchive();
  29. // ファイルが既に存在する場合は上書きします。そうでない場合は作成します
  30. if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE ::CREATE) !== true) {
  31. return false }
  32. // ファイルを追加します
  33. //圧縮ファイルにファイルを追加します
  34. foreach($valid_files as $file) {
  35. $zip->addFile($ file,$file)
  36. }
  37. //debug
  38. //echo 'zip アーカイブには ', $zip->numFiles,' ステータスが ',$zip->status; のファイル
  39. //zip を閉じます
  40. //ファイルを閉じます
  41. $zip->close(); /ファイルが存在するかどうかを確認します
  42. //ファイルが存在するかどうかを確認します
  43. return file_exists($destination);
  44. }else{
  45. //実際に有効なファイルがない場合は false を返します
  46. return false;
  47. /****
  48. //テスト関数
  49. $files=array('temp.php','test.php');
  50. create_zip($files, 'myzipfile.zip', true);*/
  51. ?>
  52. コードをコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート