PHP は Linux コマンド ラインを呼び出してファイル圧縮コマンドを実行します_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:13:11
オリジナル
964 人が閲覧しました

数日前、仕事で 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
tru​​e

http://www.bkjia.com/PHPjc/326526.html

技術記事

数日前、仕事で 3 つの txt ファイルを *.zip にパッケージ化し、ローカルにダウンロードする必要がありました。最初は、普通の若者と同じように、PHP の組み込み ZipArchive を使用することを考えました。コードは次のようになります。 ..

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!