#drupal-8 #ziparchive
#drupal-8 #ziparchive
Вопрос:
Ошибка: класс ‘Drupalchecklist_download Controller ZipArchive’ не найден в Drupalchecklist_download Controller ChDownloadController->page() (строка 42 из modules/checklist_download/src/Controller/ChDownloadController.php ).
установлено расширение zip, простой php-файл в домене работает, но не в модуле
$zip = new ZipArchive;
$zip->open($archive_name ,ZipArchive::CREATE|ZipArchive::OVERWRITE);
foreach ($b as $filename => $file) {
$zip->addFile($filename, $file);
}
$zip->close();
Ответ №1:
Для этого вы можете использовать собственный «ArchiverManager» Drupals: https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Archiver!ArchiverManager.php/8.3.x
//Set path to zip-file or create empty Zip-file:
$zip_path =Drupal::service('file_system')->saveData('','temporary://'.$zip_name.'.zip');
$zip = Drupal::service('plugin.manager.archiver')->getInstance(['filepath' => $zip_path]);
foreach ($b as $filename => $filePath) {
$zip->add($filePath);
}