2015-04-05 4 views
0

Я пытаюсь сделать резервную копию своего веб-сайта, используя Phar Class, который дает мне Php 5.3+, но у меня есть проблема. Я не хочу, чтобы предыдущие резервные копии были включены в мои файлы резервных копий, поэтому я хотел бы исключить $skip = "BackUp*.tar";, но я не могу найти способ сделать это. В основном мой сценарий находится здесь:Резервное копирование полного сайта с использованием класса phar, исключая некоторые файлы в php

<?php 
$root = realpath($_SERVER['DOCUMENT_ROOT']); // the website root 
$sdir = realpath($_SERVER['DOCUMENT_ROOT'] . dirname($_SERVER['PHP_SELF'])); // the directory where this script is stored 
$name = "BackUp_" . date("[d-m-Y][H-i-s]") . ".tar"; // name of the archive 
$skip = "BackUp*.tar"; // files to skip/exclude from backup 
$phar = new PharData($name); // create new call 
$phar->buildFromDirectory($root); // create a tar file from root with all files/dirs 
?> 

Есть ли способ сделать его простым?

ответ

0

Вы можете использовать Phar::buildFromIterator, а затем использовать RecursiveFilterIterator, чтобы отфильтровать файлы. Там вы можете определить свой собственный метод сопоставления, который отфильтровывает файлы.

+0

Можно исключить '$ sdir/$ skip'? Можете ли вы привести мне пример? Это новый класс для меня, и я до сих пор не искал Google. – Alessandro