Xwab
Форумыnavigate_nextПрограммирование на PHP

PharData
Сообщения
Chizh

День добрый!
Столкнулся с проблемой в работе с классом.
Суть: необходимо создать архив из указанной папки, кроме [n].
n - любая вложенная папка, на которую я покажу пальцем.
Второй вариант - архивировать всё, кроме файлов *.$ext.


<?php
$p = new PharData('archive.tar');
$p->buildFromDirectory("dir/", $pattern);
$p->compress(Phar::GZ);
unlink('archive.tar');
?>


В $pattern'е регулярка = "~\.(js|css)$~" - как полагается, в архива попадают все файлы с указанными расширениями. Супер! Осталось наоборот - исключить их.
Ставлю "~\.^(js|css)$~" - и вуаля! Нет архива, потому что файлов не нашлось для его создания (для желающих ткнуть пальцем на [b]unlink()[/n] - в результате компресса создается два одноименных архива *.tar.gz & *.tar).
Гугл пытается меня убедить, что только мне это надо  ну или только я такой нуб
Не очень бы хотелось запускать цикл и выкидывать ненужные файлы и директории, велосипедом пахнет.

19 Фев 2017, 16:43
Ответить на тему