導航:首頁 > 文件處理 > php在線壓縮文件

php在線壓縮文件

發布時間:2023-05-20 00:29:43

A. 怎樣用php壓縮解壓rar,zip文件

要用PHP壓縮解壓文件,常用的方法是調用命令行去執行解壓縮操作
可以用exec()
、system()等函數調用shell命令
linux下解壓縮命令是tar
[-cxtzjvfpPN]
文件與目錄,tar命令可以壓縮解壓.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip這些類型的文件
Linux下默認無法使用rar格式的,要另外安裝RAR
for
Linux,然後使用rar和unrar命令解壓縮rar格式的壓縮文件

B. php 壓縮文件夾

php將文件夾打包成zip文件,參考代碼如下:

functionaddFileToZip($path,$zip){
$handler=opendir($path);//打開當前文件夾由$path指定。
while(($filename=readdir($handler))!==false){
if($filename!="."&&$filename!=".."){//文件夾文件名字為'.'和『..』,不要對他們進行操作
if(is_dir($path."/".$filename)){//如果讀取的某個對象是文件夾,則遞歸
addFileToZip($path."/".$filename,$zip);
}else{//將文件加入zip對象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}

$zip=newZipArchive();
if($zip->open('images.zip',ZipArchive::OVERWRITE)===TRUE){
addFileToZip('images/',$zip);//調用方法,對要打包的根目錄進行操作,並將ZipArchive的對象傳遞給方法
$zip->close();//關閉處理的zip文件
}

C. php壓縮文件並返回壓縮文件的名稱

使用PHPexcel,你自己到網上搜這個插件吧,將需要的文件解壓到Classes目錄下,那麼把這個目錄放在框架thinkphp/extend/vendor/下面,我將自己項目中的部分代碼給你看看 在ACTION中設置上傳文件並獲取文件: import('ORG.Net.UploadFile');

D. PHP在線解壓ZIP文件

解壓步驟:
第一步、把unzip.php或upzid.php(2選1即可)通過 FTP上傳到壓縮包所在的文件夾;
第二步、使用「域名/unzip.php或upzid.php?file=壓縮文件名稱」訪問解壓,如 www.abc.com/unzip.php?file=name.zip ;

源碼適合php環境的zip壓縮包在線解壓。

注意:解壓完成後請務必刪除站點目錄下的unzip.php和upzid.php文件,以免被其他人利用!

E. PHP 實現文件壓縮解壓zip格式

在php中,有時我們需要使用到壓縮文件操作,壓縮文件可以節省磁碟空間;且壓縮文件更小,便於網路傳輸,效率高,下面我們就來了解php的壓縮解壓相關操作
在PHP中有一個ZipArchive類,專門用於文件的壓縮解壓相關操作
在ZipArchive類中主要使用到了如下方法:

第一個參數:要打開的壓縮包文件
第二個參數:
ZIPARCHIVE::OVERWRITE 總是創建一個新的文件,如果指定的zip文件存在,則會覆蓋掉
ZIPARCHIVE::CREATE 如果指定的zip文件不存在,則新建一個
ZIPARCHIVE::EXCL 如果指定的zip文件存在,則會報錯
ZIPARCHIVE::CHECKCONS 對指定的zip執行其他一致性測試

上面就是ZipArchive的一些常用方法,下面來一些簡單示例

F. 請高手指點:PHP 如何解壓縮zip格式壓縮的文件或壓縮文件夾內的文件到指定目錄

/**
* PHP在線壓縮/解壓實例
*/

date_default_timezone_set('prc');

$zip = new engine_compress_decompress();

if (isset($_POST))
{
$sourcePath = ''; //默認位置

if (isset($_FILES['upfile'])) //上傳文件
{
$stmp = $zip->fileUpload('upfile');
$sourcePath = $stmp['sourcefile'];
$upfileError = $stmp['error'];
}
elseif (isset($_POST['inputfile'])) //輸入目錄或者文件
{
$sourcePath = $_POST['inputfile'];
}
elseif (isset($_POST['decompresssourcefiles'])) //解壓縮提交
{
$isDecompress = $zip->decompress($_POST['decompresssourcefiles'], $_POST['topath']);
if (!empty($isDecompress['filelist']))
{
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#decompress\'</script>';
}

}

$fileList = $zip->fileArray($sourcePath); //解壓縮文件列表

if (isset($_POST['compressinputfileorfolder'])) //壓縮文件目錄或者文件輸入
{
$sourcePath = $_POST['compressinputfileorfolder'];
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
$compressFilelist = $zip->compressFileArray($sourcePath); //壓縮文件列表
}
elseif ((isset($_POST['selectcompressfilelist'])) && (isset($_POST['compresssavefilename'])))
{
$compressFiles = $zip->compress($_POST['selectcompressfilelist'], $_POST['compresssavefilename']); //真實檢測
$isCompress = $zip->CompileZipFile($compressFiles, $zip->savePath, 'all');
if (!empty($isCompress))
{
$href = '<script type="text/javascript" language="javascript">window.location.href=\'#compress\'</script>';
}
}
}

G. PHP網頁上打包文件生成壓縮文件zip,並彈出下載

既然你只是想學習如何打包.


那我重點就回答你這一塊,正好我剛剛用到;

$filename="./".date('YmdH').".zip";//最終生成的文件名(含路徑)
//生成文件
$zip=newZipArchive();//使用本類,linux需開啟zlib,windows需取消php_zip.dll前的注釋
if($zip->open($filename,ZIPARCHIVE::CREATE)!==TRUE){
exit('無法打開文件,或者文件創建失敗');
}

//$fileNameArr就是一個存儲文件路徑的數組比如array('/a/1.jpg,/a/2.jpg....');

foreach($fileNameArras$val){
$zip->addFile($val,basename($val));//第二個參數是放在壓縮包中的文件名稱,如果文件可能會有重復,就需要注意一下
}
$zip->close();//關閉

//下面是輸出下載;
header("Cache-Control:max-age=0");
header("Content-Description:FileTransfer");
header('Content-disposition:attachment;filename='.basename($filename));//文件名
header("Content-Type:application/zip");//zip格式的
header("Content-Transfer-Encoding:binary");//告訴瀏覽器,這是二進制文件
header('Content-Length:'.filesize($filename));//告訴瀏覽器,文件大小
@readfile($filename);//輸出文件;

H. php將pdf文件格式轉換成圖片,並壓縮

有一份pdf文件,需要將其轉換成圖片, 如果圖片過大,同時還需要將其壓縮。

1、安裝插件

因為不同版本的用法略有區別,我這里用的是2.1版, 最近文檔還需要看官方文檔。

2、簡單使用

3、常用方法

4、其他

1、說明

2、安裝

不同版本的使用略有區別,我這用的是2.5版本的

3、簡單使用

其中resize,可以指定壓縮的寬度和高度,如

如果是指定寬度,智適應高度就是這樣

save的三個參數是,

4、更多
更多使用,看 說明文檔

壓縮圖片的時候,報不能讀取問題

這個可能是遇到最多的問題。可能原因如下:
1、文件讀取許可權
查看文件的許可權,看是否有讀取的許可權(r), 沒有的話直接把文件改為 777

2、插件不支持該格式文件
輸入 php --ri imagick , 在支持列表看是否支持該文件的格式。沒有的話,自己網路啦。

3、內存或緩存不夠
進入插件的 /vendor/intervention/image/src/Intervention/Image/Imagick/Decoder.php , 在24行斷點

可能會得到消息:

然後,在網路下,原來是壓縮的文件過大,插件使用的緩存不夠,這里直接將配置改大即可

將配置文件改成如下

閱讀全文

與php在線壓縮文件相關的資料

熱點內容
壓縮比不一樣燃燒室不一樣 瀏覽:101
androidbutton左對齊 瀏覽:172
怎麼找到學校的伺服器 瀏覽:368
android狀態欄高度是多少 瀏覽:987
linuxcliphp 瀏覽:515
蘿卜源碼如何關閉用戶注冊驗證 瀏覽:756
蘋果手機頭條app怎麼沒有tv 瀏覽:563
電腦qq文件夾怎麼發不出去 瀏覽:613
解壓小游戲測試鑽石劍的硬度 瀏覽:962
java結束函數 瀏覽:622
打開遠程桌面的命令 瀏覽:836
樹莓派如何搭建mqtt伺服器 瀏覽:587
怎麼加密w8文件 瀏覽:609
linuxprogram 瀏覽:708
php介面編程思想 瀏覽:92
如何下載電話軟體app 瀏覽:906
java命令行解析 瀏覽:572
雲伺服器白嫖 瀏覽:917
程序員小清新 瀏覽:989
編譯器地址8位元組對齊 瀏覽:465