我写了这段代码来创建我上传的附件的ZIP文件,wp应用程序有一个上传pdf的选项,那些上传pdf将存储在上传目录下,我得到的结果成功没有错误但仍然是zip未在目录服务器中创建。这是代码:
// Code for Getting links (Path)of Attachements
$list = array();
// $count = 1;
foreach($applicants as $key=>$val) {
$cat_id =explode("-", $key);
foreach($val as $appkey=>$appval) {
// if(($appval['name'])=='Navn') {
// $names = $count . '_' . $cat_id[1] . '_' . stripslashes($appval['value']) ;
// }
if(($appval['name']) == ' (PDF)') {
$attach = stripslashes($appval['value']) ;
$list[] = $cat_id[0].'-'. $cat_id[1].'/' . $attach; // Attaching ID and Category to attachement file name
}
}
// $count++;
}
$paths = array();
foreach ($list as $list) {
$data = explode('/',$list);
$pdfpath='../../' . $data[7] . '/' . $data[8] . '/' . $data[9] . '/' . $data[10];
$name=(string)$data[0] . '_' . $data[10];
$paths[] = $pdfpath."*".$name;
}
$zip = new ZipArchive;
$rand = rand(0,5000);
// Generating random file name for zipcode
if ($zip->open($rand . 'appl_attachments.zip', ZipArchive::CREATE)) {
// add files to zip from the path i.e uplaods(Folder) if file exists
foreach ($paths as $value ) {
$path=explode("*", $value);
if(file_exists($path[0])) {
$zip->addFile($path[0],$path[1]);
}
}
$zip->close();
答案 0 :(得分:0)
最后解决了这个问题,更新了pdf路径上的更改。 以下是代码的更改:
$paths = array();
foreach ($list as $list) {
$data = explode('/',$list);
$pdfpath='../../' . $data[6] . '/'. $data[7] . '/' . $data[8] . '/' . $data[9] ;
$name=$data[9];