У меня есть несколько учетных записей хостинга с установленной WordPress в корневом каталоге и несколько дополнительных доменов с установленной Wordpress в подкаталогах. Я пытаюсь сжать только установку Wordpress в корне и думаю, что поиск wp-admin, wp-content и wp-includes может помочь мне достичь моей цели.
Мне стало лень, и я использовал скрипт, который нашел в учебнике, для сжатия установок в подкаталогах, но хотел бы больше узнать о том, как настроить таргетинг на конкретный каталог или файл. Может кто-нибудь указать мне хороший урок для этого?
Сценарий, приведенный ниже, хорошо распространен, хорошо работает для архивирования всего в каталоге и может исключать определенные файлы с помощью $ exclude_files [] = realpath ('имя файла'); но не совсем то, что мне нужно.
<?php
/* Exclude Files */
$exclude_files = array();
$exclude_files[] = realpath( $zip_file );
$exclude_files[] = realpath( 'Move-My-Site-Zipper.php' );
// Get real path for our folder
$rootPath = realpath('');
// Initialize archive object
$zip = new ZipArchive();
$zip->open('file.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE);
// Create recursive directory iterator
/** @var SplFileInfo[] $files */
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);
foreach ($files as $name => $file)
{
$file_path = $file->getRealPath();
// Skip directories (they would be added automatically)
if (!$file->isDir() && !in_array( $file_path, $exclude_files ))
{
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);
// Add current file to archive
$zip->addFile($filePath, $relativePath);
}
}
// Zip archive will be created only after closing object
$zip->close();
?>