0
我正在使用symfony 2.0,並試圖動態生成zip。Mac OS上的ZIParchive symfony2返回zip損壞
這是我的代碼:
public function singleZipAction(Request $request,$id){
$user = $this->container->get('security.context')->getToken()->getUser();
$images_root = $request->getScheme() . '://' . $request->getHttpHost() . $request->getBasePath().'/uploads/gallery/';
$zip = new \ZipArchive();
$fs = new Filesystem();
try {
$fs->mkdir('archives/'.date("d-m-Y").'/'.$user->getApikey().'/');
$fs->chmod('src', 0700, 0000, true);
} catch (IOExceptionInterface $e) {
echo "An error occurred while creating your directory at ".$e->getPath();
}
$zipName = 'archives/'.date("d-m-Y").'/'.$user->getApikey().'/commande_'.$commande->getId().".zip";
$name = 'commande_'.$commande->getId().'.zip';
if($zip->open($zipName,\ZipArchive::CREATE | \ZipArchive::OVERWRITE) === TRUE){
foreach ($new_array as $f) {
$path = $images_root.$f->getFilePath();
$file = 'uploads/gallery/'.$f->getFilePath();
$zip->addFile($file,basename($file));
}
$zip->close();
}else {
die("can not open");
}
$response = new Response();
$response->headers->set('Content-type', 'archive/zip');
$response->headers->set('Content-Disposition', 'attachment; filename="' . $name . '";');
$response->sendHeaders();
$response->setContent(file_get_contents($zipName));
return $response;
}
問題是在Mac OS中,我提取完全在Windows和Linux操作系統的zip。但在Mac OS中,我有一個錯誤消息「zip損壞」。