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」です。では、ここで root として「productimage」から zip フォルダーを開始するにはどうすればよいでしょうか。

事前に感謝し、英語で申し訳ありません

4

2 に答える 2

0

以下の回答を参照してください。問題は、2 番目のパラメーターを指定せずに $zip->addFile($file); を使用したことが原因のようです。

zip内のファイルへのパスなしでzipを作成するphp

于 2014-03-10T17:43:52.467 に答える