Что я хотел бы сделать, так это заархивировать мой fileadmin и папку с расширениями с помощью zipAction на моем контроллере.Итак, я взял кусок кода из здесь и у меня есть это:
$fileAdminPath = 'fileadmin';
$archiveName = $importerSettings['fileadminArchiveName'];
$zip = new \ZipArchive;
$zip->open($archiveName, \ZipArchive::CREATE | \ZipArchive::OVERWRITE);
$files = new \RecursiveIteratorIterator (new \RecursiveDirectoryIterator($fileAdminPath), \RecursiveIteratorIterator::LEAVES_ONLY);
if (!$file->isDir()) {
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($fileAdminPath) + 1);
// Add current file to archive
$zip->addFile($filePath, $relativePath);
}
// Zip archive will be created only after closing object
$zip->close();
Теперь, когда код достигает части isDir()
, я получаю следующую ошибку:
Вызов функции-члена isDir () со значением NULL
Если я удаляю его и снова запускаю код, getRealPath()
получает ту же ошибку.Так что я предполагаю, что мне не хватает пространства имен или чего-то подобного, в котором хранятся эти функции.
На локальном php-файле (index.php) и MAMPP это работает.На TYPO3 нет.
Кстати, я не уверен, действительно ли контроллер считывает путь к fileadmin.Если я ошибся, пожалуйста, поправьте меня.
С уважением