2007年4月30日 星期一

PHP在線解開ZIP檔案

昨日寫的在線解壓ZIP檔案于于ASP中
需要使用第三方提供的元件才能完成這個動作
php又要如何解開ZIP檔呢?
在 PHP 4.1.0 之前的版本就含有ZIP函式庫
不過那時只是玩票屬於實驗性質
現在則已經納入PECL中
要使在線解壓ZIP檔記得要打開
ZIP extension
function unpackZip($arg_strDir,$arg_strZipFileName)
{
$objZip = zip_open($arg_strDir.$arg_strZipFileName.'.zip');
while($objZipHandle = zip_read($objZip))
{
$strFileNameInZip = zip_entry_name($objZipHandle);
$strTargetDir = $arg_strDir.$arg_strZipFileName.'/';
$intFileSize = zip_entry_filesize($objZipHandle);
if (is_dir($strTargetDir) || mkdir($strTargetDir))
{
if ($intFileSize > 0)
{
if (is_file($strTargetDir.'/'.$strFileNameInZip))
{
unlink($strTargetDir.'/'.$strFileNameInZip);
}
$contents = zip_entry_read($objZipHandle, $intFileSize);
file_put_contents($strTargetDir.'/'.$strFileNameInZip,$contents);
}
}
}
}
?>
如何使用?
unpackZip('完整路徑','zip檔名稱');
例如︰
unpackZip('D:\\webs\\php\\','213');

【下列文章您可能也有興趣】

沒有留言: