php檔案解壓縮的方法:先偵測要解壓縮壓縮套件是否存在;然後偵測目標路徑是否存在;最後透過「$zip->extractTo($dest);」方法解壓縮檔案即可。
下面這篇文章就來跟大家介紹如何使用PHP對檔案進行壓縮和解壓縮操作,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下。
註:PHP壓縮和解壓縮檔案需要有zip擴充---ZipArchive類別
PHP ZipArchive類別可用來壓縮和解壓縮。如果不存在,可能需要安裝該類別。
從PHP 5.3開始,此擴充是內建的。在此之前,Windows使用者需要在php.ini中啟用php_zip.dll才能使用其功能。
啟用步驟:
1、開啟php.ini文件,新增
extension=php_zip.dll
2、儲存後,重新啟動Apache或其他伺服器。
PHP檔案怎麼解壓縮?
/** * 解压缩 * @method unzip_file * @param string $zipName 压缩包名称 * @param string $dest 解压到指定目录 * @return boolean true|false */ function unzip_file(string $zipName,string $dest){ //检测要解压压缩包是否存在 if(!is_file($zipName)){ return false; } //检测目标路径是否存在 if(!is_dir($dest)){ mkdir($dest,0777,true); } $zip=new ZipArchive(); if($zip->open($zipName)){ $zip->extractTo($dest); $zip->close(); return true; }else{ return false; } }
PHP如何壓縮檔案?
範例1:壓縮單一檔案
/** * 压缩单个文件 * @method zip_file * @param string $filename 文件名 * @return boolean true|false */ function zip_file(string $filename){ if(!is_file($filename)){ return false; } $zip=new ZipArchive(); $zipName=basename($filename).'.zip'; //打开指定压缩包,不存在则创建,存在则覆盖 if($zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){ //将文件添加到压缩包中 if($zip->addFile($filename)){ $zip->close(); @unlink($filename); return true; }else{ return false; } }else{ return false; } } // var_dump(zip_file('22.txt')); // func_get_args // test1.zip
範例2:多檔案壓縮
/** * 多文件压缩 * @method zip_files * @param string $zipName 压缩包的名称,.zip结尾 * @param string $files 需要压缩文件名,可以是多个 * @return boolean true|false */ function zip_files(string $zipName,...$files){ //检测压缩包名称是否正确 $zipExt=strtolower(pathinfo($zipName,PATHINFO_EXTENSION)); if('zip'!==$zipExt){ return false; } $zip=new ZipArchive(); if($zip->open($zipName,ZipArchive::CREATE|ZipArchive::OVERWRITE)){ foreach($files as $file){ if(is_file($file)){ $zip->addFile($file); } } $zip->close(); return true; }else{ return false; } } // var_dump(zip_files('test1.zip','22.txt')); // var_dump(zip_files('test2.zip','doUpload.php','downLoad.html','upload.html'));
相關影片教學推薦:《PHP教學》
以上是PHP檔案要怎麼解壓縮和壓縮? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!