Я хочу добавить подпапку с файлом в архив.
$files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
Я не могу его использовать, потому что мне не нужны все файлы моей папки. У меня есть массив с некоторой информацией о файлах:
$paths = [
[
'name' => 'file',
'ext' => 'txt',
'path' => '/folder/'
],
[
'name' => 'subFolder',
'ext' => 'folder',
'path' => '/folder/'
],
[
'name' => 'fileInSubFolder',
'ext' => 'txt',
'path' => '/folder/subFolder/'
]
];
В цикле я делаю это:
if( $folder[$i]['ext'] == 'folder' )
$zip->addEmptyDir($fileName);
else
$zip->addFromString( $fileName.$fileExt, file_get_contents($fileFullPath.$fileExt));
Если "папка", то я создаю в архиве пустую папку, иначе добавляю файл в архив. Но если файл находится в подпапке, то файл будет добавлен в корень архива. И как я могу добавить файл в новую пустую подпапку? Или как я могу изменить текущий каталог для добавления файла?