PHP调用Linux的命令行执行文件压缩命令_php技巧
前几天工作中,需要将3个txt文件,打包成*.zip down到本地……
一开始,我和普通青年一样,想到用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的命令行 ,执行压缩命令,OK,马上行动!
/*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt全部放到 Exl_file 目录下*/
$outputs=array();
/*用php的exec执行Linux命令 括号里的字符串就是你在Linux命令窗口里敲的命令;
第二个参数是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);
if($rc!=0){
foreach ($outputs as $ko=>$vo){
echo "$vo
";
}
}else{
$zipfile='./Exl_file/wow.zip';
//文件下载输出后删除相关文件
}
}
你可以把if($rc!=0)改成if(1==1)查看Linux执行命令返回的结果行,如下图:
adding: Exl_file/wow_1.txt (deflated 96%)
adding: Exl_file/wow_2.txt (deflated 97%)
adding: Exl_file/wow_3.txt (deflated 97%)
可以看到执行返回的信息全部输入到了 $outputs 数组中,*.zip文件生成成功。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

大家都知道,7-zip是一款完全免費的壓縮解壓縮軟體,與其他壓縮軟體相比它的壓縮速度更快壓縮率更好,很多用戶疑惑7-zip軟體怎麼把一個大檔案壓縮到最小?針對這個問題,小編給了解答。 7-zip軟體怎麼把一個大檔案壓縮到最小?首先,下載並安裝7-zip軟體在您的電腦上。接著,右鍵點選要壓縮的文件,查看來源檔案大小並記錄。然後,在該檔案上再次右鍵點擊,選擇7-zip-新增至壓縮套件。這樣會彈出一個窗口,顯示「加入到壓縮包」。 2、接著我們在壓縮視窗裡面設定壓縮格式,壓縮等級上選擇最大壓縮,

隨著電腦技術的不斷發展,文件的處理已經成為電腦使用者日常工作中不可或缺的一部分。隨著檔案儲存量不斷增加,壓縮檔案已經成為了十分必要的操作。而在這個過程中,使用Go語言進行檔案壓縮和解壓已經成為了一個備受關注的議題。 Go語言本身提供了豐富的標準函式庫,其中就包含了處理文件操作的相關工具函數。正是因為如此,使用Go語言進行檔案壓縮和解壓操作相對於其

如何利用PHP開發一個簡單的檔案壓縮功能概述:檔案壓縮是一種常用的技術,透過減少檔案的體積,可以提高檔案傳輸效率、節省儲存空間,並便於檔案的備份和共享。本文將介紹如何基於PHP開發一個簡單的檔案壓縮功能,透過對檔案進行壓縮和解壓,實現檔案的壓縮和解壓縮操作。步驟:建立一個PHP檔案:首先,建立一個PHP文件,命名為compress.php。壓縮檔:在com

Win10右鍵沒有檔案壓縮怎麼辦?使用win10系統的時候,我們常常會遇到各式各樣的小問題,就有小夥伴在下載安裝了win10系統之後,發現win10系統沒有檔案壓縮功能,這樣我們就沒有壓縮和解壓檔案。那麼應該如何解決這個問題,小編下面整理了Win10右鍵沒有檔案壓縮解決教程,有興趣的話,跟著小編一起往下看看吧! Win10右鍵沒有文件壓縮解決教程打開winrar程序,或新建空包再打開,點擊工具列上“選項”下的設置,或直接快捷鍵“Ctrl+S”打開設置界面;然後從默認常規選項卡切換到最後一項“綜合”

如何優化Java開發中的檔案壓縮解壓縮並發效能隨著網路的快速發展,大量的資料交換和儲存已成為當今資訊時代的重要組成部分。在此過程中,經常需要對資料進行壓縮和解壓縮的操作,以提高資料傳輸的效率和節約儲存空間。在Java開發中,常使用壓縮演算法來進行檔案的壓縮和解壓縮操作。然而,在處理大量文件的同時,需要考慮並發效能的最佳化,以提高程式的運作效率。本文將介紹一些優

Python3.x中如何使用gzip模組進行檔案壓縮和解壓縮引言:在日常的開發中,我們經常需要對檔案進行壓縮和解壓縮操作。 Python中的gzip模組提供了方便且簡潔的API,可以在處理檔案時進行gzip壓縮和解壓縮操作。本文將介紹如何使用gzip模組進行檔案的壓縮和解壓縮,並給出對應的程式碼範例。壓縮檔案:gzip模組中的GzipFile類別提供了壓縮文件

如何透過Linux命令列工具進行日誌解析與篩選?在Linux環境下,我們經常需要對系統日誌進行解析和篩選,以查找特定的資訊或排查問題。使用命令列工具可以有效率地完成這些任務,本文將介紹如何使用常見的Linux命令列工具進行日誌解析和篩選。 grep指令grep是一種強大的文字搜尋工具,可以在檔案或標準輸入中搜尋符合某個模式的行,並將結果輸出。以下是gre

深入理解Java開發中的檔案壓縮與解壓縮技術隨著網路的高速發展與資訊科技的日新月異,大量的資料交換與傳輸已成為當今社會的常態。為了有效率地儲存和傳輸數據,文件壓縮與解壓縮技術應運而生。在Java開發中,檔案壓縮與解壓縮是一個必備的技能,本文將深入探討這項技術的原理與使用方法。一、檔案壓縮與解壓縮的原理在電腦中,檔案壓縮就是將一個或多個檔案通過使用特定的算
