Здравейте, ще Ви споделя едно скриптче, чрез което може лесно да си генерирате бекъпче на някоя папчица.
Разликата между този бекъп, и този който може да направите с обикновенния софтуер на Вашата ОС е, че ще бъдат пропуснати директории/файлове които не Ви трябват. Аз лично си ползвам 7зип и не съм видял такава функция, затова реших че ще ми е по-лесно чрез някой скрипт да го постигна
<?php
######################################################
### Настройки ###
######################################################
$path = 'e-econt'; // Името на директорията, която ще бъде "спасена"
$zipfile = 'backup.zip'; // Името на архива, който ще бъде генериран
$expf = array(".","..","Thumbs.db",".svn",".buildpath",".project"); // Папките и файловете, които ще бъдат пропуснати при архивирането
######################################################
## Стига толкова нстройки ###
######################################################
$files = array();
function directory_index($directory,$expf) {
global $files;
$expf = array(".","..","Thumbs.db",".svn",".settings"); // Папките и файловете, които ще бъдат пропуснати при архивирането
$handle = opendir($directory)or die('cannot open directory {$directory}');
while ( ($file = readdir($handle)) != false) {
if ( !in_array($file,$expf) ) {
if ( is_dir($directory."/".$file) ) {
directory_index($directory."/".$file);
}
else {
$files[] = $directory."/".$file;
}
}
}
closedir($handle);
return $files;
}
$allFiles = directory_index($path,$expf);
$zip = new ZipArchive();
if ( file_exists($zipfile) ) {
$zip->open($zipfile);
}
else {
$zip->open($zipfile,ZIPARCHIVE::CREATE);
}
foreach ($allFiles AS $key => $value) :
$zip->addFile($value,$value);
endforeach;
echo 'Backup is ready for use!';
?>