password ); ( DB_DATABASE raquo ;, database );
$ connection=@ mysqli_connect (DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
? gt;
lt; -! Автоматичне резервеное копіювання даних - gt;
lt;? php
set_time_limit (0);
$ db_names=array ();
$ db_names []= db1 raquo ;;
$ db_names []= db2 raquo ;;
$ source_dirs=array ();
$ source_dirs []= /home/mysite1raquo ;;
$ source_dirs []= /home/mysite2raquo ;;
$ offset_dirs=strlen (/home/);
$ host= localhost raquo ;;
$ user= root raquo ;;
$ password= raquo ;;
$ dump_dir=/home/backup raquo ;;
$ delay_delete=35 * 24 * 3 600;
$ filezip=laquo;backup_raquo;.date(laquo;Y-m-draquo;).laquo;.zipraquo;;();(file_exists($dump_dir.laquo;/raquo;.$filezip)) exit;
$ db_files=array (); ($ i=0; $ i lt; count ($ db_names); $ i ++) {
$ filename=$ db_names [$ i]. .sql raquo ;;
$ db_files []=$ dump_dir. /. $ filename;
$ fp=fopen ($ dump_dir. /. $ filename, a );
$ db=new mysqli ($ host, $ user, $ password, $ db_names [$ i]);
$ db- gt; query ( SET NAMES utf - 8 );
$ result_set=$ db- gt; query ( SHOW TABLES ); (($ table=$ result_set- gt; fetch_assoc ())!=false) {
/* Перебір всіх таблиць в базі даних */
$ table=array_values ??($ table); ($ fp) {
$ result_set_table=$ db- gt; query ( SHOW CREATE TABLE `. $ table [0]. ` );
$ query=$ result_set_table- gt; fetch_assoc ();
$ query=array_values ??($ query); ($ fp, n . $ query [1]. laquo ;; n );
$ rows= SELECT * FROM `. $ table [0]. ` raquo ;;
$ result_set_rows=$ db- gt; query ($ rows); (($ row=$ result_set_rows- gt; fetch_assoc ())!=false) {
$ query= raquo ;; ($ row as $ field) {(is_null ($ field)) $ field= NULL raquo ;; $ field= . $ db- gt; real_escape_string ($ field). raquo ;; ($ query == ) $ query=$ field; $ query.= laquo ;, . $ field;
}
$ query= INSERT INTO `. $ table [0]. ` VALUES (. $ query. ); raquo ;; ($ fp, $ query) ;
}
}
} ($ fp);
$ db- gt; close ();
}
$ zip=new ZipArchive ();
$ allfiles=array (); ($ zip- gt; open ($ dump_dir. /. $ filezip, ZipArchive :: CREATE) === true) {($ i= 0; $ i lt; count ($ source_dirs); $ i ++) {(is_dir ($ source_dirs [$ i])) recoursiveDir ($ source_dirs [$ i]); $ allfiles []=$ source_dirs [$ i]; ( $ allfiles as $ val) {
$ local=substr ($ val, $ offset_dirs);
$ zip- gt; addFile ($ val, $ local);
}
} ($ i=0; $ i lt; count ($ db_files); $ i ++) {
$ local=substr ($ db_files [$ i], strlen ($ dump_dir) + 1);
$ zip- gt; addFile ($ db_files [$ i], $ local);
}
$ zip- gt; close ();
} ($ i=0; $ i lt; count ($ db_files); $ i ++) unlink ($ db_files [$ i]);
_ filesrecoursiveDir ($ dir) {$ allfiles; ($ files=glob ($ dir. /{,.} * raquo ;, GLOB_BRACE)) {($ files as $ file) {
$ b_name=basename ($ file); (($ b_name == . ) || ($ b_name == .. )) continue; (is_dir ($ file)) recoursiveDir ($ file); $ allfiles []=$ file;
}
}
} deleteOldArchive () {$ dump_dir; $ delay_delete;
$ ts=time ();
$ files=glob ($ dump_dir. /*. zip ); ($ files as $ file) ($ ts - filemtime ($ file) gt; $ delay_delete) unlink ($ file );
}
gt;
lt; -! Захист від спаму за допомогою Akismet - gt;
lt;? _ once ( classes/Akismet.class.php ); MySpamProtection {
$ sMyAkismetKey; $ sWebsiteUrl; $ sAuthName; $ sAuthEml; $ sAuthUrl; $ oAkismet;
function MySpamProtection () {
//Встановлюємо необхідні значення для перменная
$ this- gt; sMyAkism...