写真のダウンロードバッチ圧縮梱包

    機能downloadZipImg公開(picAllArr $、$ enterprise_id)
    { 
// $ picAllArr = [ 
// 'https://dss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2333857494,1212940832&fm=26&gp=0.jpg'、
//」 https://dss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=3808706043,3843571795&fm=26&gp=0.jpg ' 
//]; 

        $ TMPDIR =' ./static/zip/images/「; //同様の/ wwwを/公共/アップロード/ 

        IF {(file_exists($ TMPDIR)!)
            //フォルダを作成し
            ます。mkdir(trueに$ TMPDIR、0777、); 
        } 

        // zipName = DATEの$( 'Hisタグ')mt_rand(1000年、9999).. '.zipファイル'; //アーカイブファイル名
        $ zipName = $ enterprise_id' .zipファイル' 。
        。$ zipNameUrl = $ TMPDIR $ zipName ; // ファイルのパス

        前に圧縮//ファイルの削除
        はunlink($ zipNameUrl); //ファイルの削除


        、生成//ファイル
        $ =新しい新しいZIP \ ZIPARCHIVEを(); 
        IF(ジッパー- $>開く($ zipNameUrl、\ ZIPARCHIVE :: OVERWRITE)==! trueに){ 
            // overwriteパラメータのオーバーライドのアーカイブファイルがすでに存在している必要があります
            IF(ジッパー- $>開く($ zipNameUrl、\ :: ZIPARCHIVEがCREATEを)!== trueに){ 
                //ファイルが存在しない、新しいを作成しますZIP作成するためにファイルが追加コンテンツファイルを使用して開いている
                に戻り「フォルダが存在しない、ダウンロードに失敗した」; 
            } 
        } 
        foreachの($ $ picAllArr ASファイル){ 
            //画像があるか否かを判断する
            $ ISFILE =の$ this - > checkFileExistsを( $ファイル); 
            !IF($ ISFILE)は{ 
                続行します; 
            } 
            //クロールグラフィックコンテンツ
            file_get_contents含むFileContent = $($ファイル); 
            //画像の追加
            ; $ファイル= SUBSTR($ファイル、0、-13)
            $ zip-> AddFromString(ベース名($ファイル)、$含むFileContentを); 
        } 
        //近いです
        $ zip-閉じる>使用(); 

        //なしファイル
        のIF {(file_exists($ zipNameUrl)!)
            リターン'ダウンロードに失敗した、絵が存在しないか、またはダウンロードすることはできません'; 
        } 

//ヘッダ( "のCache-Control:パブリック"); 
//ヘッダ( "コンテンツの説明:ファイル転送"); 
//ヘッダ( 'コンテンツディスポジション:添付ファイル;ファイル名=' $ zipName); //ファイル名
//ヘッダ( "のContent-Type:アプリケーション/郵便番号"); // zip形式 
//ヘッダ(「のContent-Type :アプリケーション/オクテットストリーム「'); // zip形式
//ヘッダ( "のContent-Transfer-エンコード:バイナリ"); // バイナリファイルであるブラウザ、伝える
//ヘッダ( 'のContent-Length: '。ファイルサイズ($ zipNameUrlを)); //は、 ブラウザに指示、ファイルサイズ
// 
// //以下の2つのステップがあることが必要
)(// ob_clean; 
//フラッシュ(); 
        // @のReadFile($ zipNameUrl); 
        //はunlink($ zipNameUrl); //ファイルの削除
        リターンのsubstr($ zipNameUrlを、2); 
    }

  

おすすめ

転載: www.cnblogs.com/zxqblogrecord/p/12620350.html