1

我在 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 (x86)\EasyPHP-5.3.5.0\www\quickshop\trunk\quickshopimages\productimage\male\shirts\Ethnic\1

我的主根目录来自“productimage\male\shirts\Ethnic\1”。那么,如何从“productimage”作为根目录启动 zip 文件夹呢?

提前感谢,对不起英语

4

2 回答 2

0

请参阅下面的答案,您的问题似乎来自您对 $zip->addFile($file); 的使用,没有第二个参数。

php创建没有zip文件路径的zips

于 2014-03-10T17:43:52.467 回答
0

Yii 有一个邮政编码扩展名。 yii zip 分机。

$zip = Yii::app()->zip;
$zip->makeZip('./','./toto.zip'); // make an ZIP archive 
$zip->extractZip('./toto.zip', './1/'); // extract Zip arc.
于 2016-06-03T07:15:53.060 回答