2014-06-17 100 views
0

我遇到了一些问题,我正在使用PCLZip创建一个存档。我没有得到任何错误,压缩文件被创建,但当我去查看它,存档是空的,并在我的Windows机器上,我得到一个错误“压缩(压缩)文件夹”本地目录压缩文件“)是无效的,我有以下代码:使用PHP和PCLZip损坏ZIP文件

$dir = '../downloads/liability/'; 
$archive = new PclZip($dir.'archive.zip'); 
$v_list = $archive->create($dir); 
    if ($v_list == 0) { 
     die("Error : ".$archive->errorInfo(true)); 
    } 

我的目录结构是:

-admin 
    --liabilityDev.php (where the above code resides) 
    --index.php 
    --commission.php 
-downloads 
    --liability 
    ---one.pdf 
    ---two.pdf 

最终的结果是,在责任文件夹,里面是包含2页PDF格式的文件名为archive.zip但是我得到了无效的错误 如果我没有目录变量,我将index.php和commission.php存档并且工作正常。它使我相信它可能是一个许可问题,但我现在正在冒烟。请帮忙!

回答

1

你可以试试这个:

if(extension_loaded('zip')){ 
$zip = new ZipArchive(); 
if($zip->open('../downloads/liability/archive.zip', ZIPARCHIVE::CREATE)===TRUE){ 
    $zip->addFile('path of any normal file to be add into zip'); 
} 
$zip->close(); 
} 

我认为,这将fullfill您的需要。在实施此代码之前,请先检查zip扩展名是否已被加载。