数日前、仕事で 3 つの txt ファイルを *.zip にパッケージ化してローカルにダウンロードする必要がありました...
最初は、普通の若者のように、PHP の組み込み ZipArchive を使用することを考えました。コードは次のようになります。これ:
コードをコピーします コードは次のとおりです:
/* 3 つの txt ファイル (wow_1.txt、wow_2.txt、および wow_3.txt) に分割します*/
$zip=new ZipArchive(); $zipfile='./Exl_file/wow.zip';
if($zip->open($zipfile,ZIPARCHIVE::CREATE)===TRUE){
$zip->addFile('./Exl_file/ wow_1.txt', 'wow_1.txt');
$zip->addFile('./Exl_file/wow_2.txt','wow_2.txt');
$zip->addFile('./Exl_file/ wow_3.txt', 'wow_3.txt');
$zip->close();
//出力ファイルをダウンロードした後、関連ファイルを削除します
}else{
echo "ZIP 生成に失敗しました!";
しかし、正式な問題は、zip 拡張機能が環境にインストールされていない場合、ZipArchive は直接使用できないということです。コードは、拡張機能をインストールするよりも明らかに高速です。PHP を使用して Linux コマンド ラインを呼び出し、圧縮コマンドを実行します。 、今すぐ行動を起こしてください!
コードをコピーします
コードは次のとおりです: /*3つのtxtファイル、wow_1.txt、wow_2.txt、wow_3.txtに分割し、それらをすべてExl_fileディレクトリに置きます*/ $outputs= array() ;
/* Linux コマンドを実行するには php の exec を使用します。
2 番目のパラメーターは、コマンドの実行後に Linux によって返される結果の配列です。 Linux の実行によって返される項目 結果は順番に配列に格納されます。実行が成功した場合、Linux は結果値 0 を返します。実行が失敗した場合、結果値は 0 ではありません。 /
exec("zip ./Exl_file/wow. zip ./Exl_file/wow_1.txt ./Exl_file/wow_2.txt ./Exl_file/wow_3.txt",$outputs,$rc); 0){
foreach ($outputs as $ko= >
}
if($rc!=0) を if(1==1) に変更すると、Linux 実行コマンドによって返される結果行を表示できます。以下に示す:
コードをコピーします
コードは次のとおりです:
追加: Exl_file/wow_1.txt (96% 収縮)
追加: Exl_file/wow_2.txt (97% 収縮)
追加: Exl_file /wow_3.txt (97% 圧縮)
実行によって返されたすべての情報を確認できます。入力は $outputs 配列に入力され、*.zip ファイルが正常に生成されます。
http://www.bkjia.com/PHPjc/326526.htmlwww.bkjia.com
true
http://www.bkjia.com/PHPjc/326526.html
技術記事
数日前、仕事で 3 つの txt ファイルを *.zip にパッケージ化し、ローカルにダウンロードする必要がありました。最初は、普通の若者と同じように、PHP の組み込み ZipArchive を使用することを考えました。コードは次のようになります。 ..