Добавьте файлы и каталог в определенный подкаталог


Я использую следующий скрипт для перемещения файлов моего каталога (в данном случае My_Theme) в zip-архив wordpress.zip.

define('CLIENT_PATH', $_SERVER['DOCUMENT_ROOT'] . '/wp_theme/clients_templates/' . str_replace(' ', '_', $_POST['title']));
$zip = new ZipArchive;
$zip->open('wordpress.zip', ZipArchive::CREATE);
foreach (glob(CLIENT_PATH . "/*.*") as $file) {
    echo $file . '<br>';
   $zip->addFile($file);
}
$zip->close();

Теперь, когда я загружаю и распаковываю этот файл, моя структура папок выглядит следующим образом:

enter image description here

Что я хочу, так это переместить каталог My_Theme в wordpress/wp-content/themes/

Результатом будет: wordpress/wp-content/themes/My_Theme (включая все файлы и подкаталоги внутри)

Как я могу это сделать?

Author: Reza, 2017-01-27

2 answers

Я отвечаю на свой собственный вопрос, и ответ прост: просто определите второй параметр: $zip->addFile($file, 'wordpress/wp-content/themes/' . $theme_name . '/' . $file_name);

 4
Author: Reza, 2017-02-03 14:32:29

Вы могли бы использовать http://php.net/manual/en/function.rename.php . Это должно сделать то, что вы ищете.

 0
Author: Profit, 2017-02-03 12:52:11