色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP執行zip與rar解壓縮方法實現代碼

Zip:PclZip http://www.phpconcept.NET/pclzip/index.en.php
Rar:PECL rar http://pecl.php.NET/package/rar
以往過去要在php下執行解壓縮程序,無非最常見的方法是寫command 然后用exec()等執行函式去跑
這在Windows下或許可以,但換成Unix話會礙于帳號權限問題而無法順利執行
那有沒有那種本身就有提供函式可以直接使用而不需要去下command去跑的方法呢
答桉有(話說找了好幾天才找到可以用的方法......XD)
先講Zip,由于php內建本身就有提供zip相關函式(但須先要有ziplib函式)但不是很好用
就光extract來講,內建函式只負責單純解壓縮檔桉出來,而不是會按照資料夾依序解壓縮出來
這樣就失去extract的作用
而要講的 PclZip 這支,本身就有提供 extension 了,故有沒有Ziplib就沒差
且免安裝,只需要再用他時 include 進來就可以了
例如:<?php include('pclzip.lib.php'); ?> 這樣
此外在extract部分,則是會按照資料夾順序依序解壓縮出來,而并非單純解壓縮檔桉出來
相關用法像這樣
復制代碼 代碼如下:
<?php
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract() == 0) { /*解壓縮路徑跟原始檔相同路徑*/
die("Error : ".$archive->errorInfo(true));
}
?>

當然也可以指定解壓縮路徑,像這樣
復制代碼 代碼如下:
<?php
include('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract(PCLZIP_OPT_PATH, 'data') { /*data換成其他路徑即可*/
die("Error : ".$archive->errorInfo(true));
}
?>

如果再寫一支自動建立目錄的script會更好,因為函式本身不會判斷壓縮檔 主站蜘蛛池模板: 蚌埠市| 张北县| 平定县| 五大连池市| 铜鼓县| 阜康市| 丽水市| 永春县| 乐都县| 云南省| 会宁县| 航空| 东至县| 湘潭县| 湖口县| 鹤庆县| 澜沧| 淳安县| 若尔盖县| 德惠市| 杭锦旗| 通城县| 马山县| 周至县| 四川省| 丘北县| 三门峡市| 开阳县| 响水县| 黄浦区| 石河子市| 朝阳县| 富宁县| 萍乡市| 聂拉木县| 古田县| 永宁县| 舒兰市| 新乡市| 上思县| 綦江县|