Добавить файл из строки в новую папку ZipArchive

Допустим, у меня есть переменная с именем и экземпляром:

$css = 'body {color:red;}';

В настоящее время я создаю свой zip-файл следующим образом:

    ini_set("max_execution_time", 300);
    // create object
    $zip = new ZipArchive();
    // open archive
    if ($zip->open("my-archive.zip", ZIPARCHIVE::CREATE) !== TRUE) {
        die ("Could not open archive");
    }
    // initialize an iterator
    // pass it the directory to be processed
    $jsFiles  = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("../js"));
    $cssFiles = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("../css"));
    $images   = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("../_design"));
    // iterate over the directory
    // add each file found to the archive
    foreach ($jsFiles as $key=>$value) {
        $zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
    }
    foreach ($cssFiles as $key=>$value) {
        $zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
    }
    foreach ($images as $key=>$value) {
        $zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
    }
    // close and save archive
    $zip->close();
    echo "Archive created successfully.";

Допустим, у меня уже есть файл с именем color.css находится в /css/main/color.css/ и я хотел мою новую строку $css чтобы заменить весь этот новый файл в архиве, как я могу это сделать? Я посмотрел на ZipArchive::addFromString но я не мог найти способ поместить это в определенную папку. Это единственный файл, который нужно изменить во всем моем каталоге.

Любая помощь будет отличной.

1 ответ

Если вы посмотрите на Пример №2 по адресу http://www.php.net/manual/en/ziparchive.addfromstring.php то увидите, что первым параметром ZipArchive::addFromString может быть любой путь внутри вашего zip-архива.,

Поэтому в вашем случае вызов будет выглядеть так:

$zip->addFromString("css/main/color.css",$css);
Другие вопросы по тегам