我在php中使用ZipArchive创建zip文件。代码 -
$path = Yii::getPathOfAlias('webroot').'/quickshopimages/productimage/';
$zip =new ZipArchive();
$zip->open('test.zip', ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE);
$iterator=new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path),
RecursiveIteratorIterator::SELF_FIRST);
foreach($iterator as $file)
{
if($file->isDir())
{
echo strtoupper($file->getRealpath()), PHP_EOL.'<br/>';$file .'/');
$zip->addEmptyDir(str_replace(strtoupper($file->getRealpath()) . '/', '',
$file . '/'));
}
else
{
$zip->addFile($file);
}
}
$zip->close();
但问题是,当我创建zip时,其文件夹结构设置为
C:\ Program Files (86)\的EasyPHP-5.3.5.0 \ WWW \ quickshop \树干\ quickshopimages \ productimage \雄性\球衣\民族\ 1
我的主根目录来自“productimage \ male \ shirts \ Ethnic \ 1”。那么,怎样才能从“productimage”中以root身份启动zip文件夹呢?
提前致谢并抱歉英语
答案 0 :(得分:0)
请参阅下面的答案,您的问题似乎来自您对$ zip-&gt; addFile($ file);的使用,没有第二个参数。
答案 1 :(得分:0)
Yii有一个拉链扩展名。 yii zip ext.
$zip = Yii::app()->zip;
$zip->makeZip('./','./toto.zip'); // make an ZIP archive
$zip->extractZip('./toto.zip', './1/'); // extract Zip arc.