Я написал этот код для создания ZIP-файла моего загруженного приложения, приложение wp имеет возможность загружать pdf, эти загружаемые pdf будут сохранены в каталоге загрузки, я получил результат успеха без ошибок, но все же zip не создается внутри сервера каталогов. Вот код:Ошибка при создании 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();
Вы знаете, это, вероятно, * * прозвучит немного сумасшедший с точки зрения кодирования, но на самом деле решить мою проблему раз ... попробуйте использовать '$ k => $ value' внутри foreach, а затем используйте '$ value [$ k]' внутри вашего 'explode()'. Это может не дать вам никаких ошибок, но это не означает, что ваш оператор 'if' внутри вашего' foreach' фактически возвращает «true». В любом случае, просто откликните каждую переменную, чтобы увидеть, действительно ли это то, что вы ожидаете от них. – Zeke
Спасибо за ваш быстрый ответ, я протестировал и, похоже, тот же результат. Лучше я добавляю весь файл создания zip здесь: https://github.com/karthick-m-ica/backend/blob/master/zip. php Пожалуйста, проверьте это, если вы решите какое-либо решение этой проблемы. Возможно, у нас есть какие-либо разрешения на файл или проблема с конфигурацией на сервере? –
Добро пожаловать. Если ваши файлы - 0644, а по умолчанию - 0755, я думаю, что все в порядке с разрешениями на файлы. Но так или иначе, вы эхо каждого '$ path [0]' и '$ path [1]', чтобы убедиться, что они на самом деле являются тем, кем вы хотите их видеть? Я проверю ваш файл. – Zeke