Цитата
Я в курсе что таблиц нет. Поэтому и говорю Вам, что файлы явно потерянные, и для их поиска и удаления есть соответствующий функционал. Это не внешние файлы, об этом речь и не шла.
Отправлено 20 Март 2014 - 12:58
Цитата
Отправлено 20 Март 2014 - 13:02
Цитата
Отправлено 20 Март 2014 - 13:07
CbCoder (20 Март 2014 - 13:02) писал:
Сообщение отредактировал wondertalik: 20 Март 2014 - 13:20
Отправлено 20 Март 2014 - 13:55
class DiffBackup { private $filter = array(); private $settings; private $list; private $file; private $delimiter = "\n"; public function __construct(CBSettings $setngs) { $this->settings = $setngs; $this->file = new WFile("10.03.2014.sql"); } /** * Используется для получения списка таблиц, которые требуется в бэкап отправить * @return mixed */ public function getListTable() { //Получаем список всех таблиц $sqlQuery = "SHOW TABLES"; $result = sql_query($sqlQuery); $tables = array(); if(sql_num_rows($result) > 0) { while($row = sql_fetch_assoc($result)) { //Формируем массив таблиц $tables[] = $row['Tables_in_' . $this->settings->getSettings(CBSettings::DBNAME)]; } } //Прогоняем список таблиц через фильтры foreach($this->filter as $key => $value) { $value->addTableByArray($tables); $tables = $value->filter(); } $this->list = $tables; //P::_print_r($tables); return $this->list; } public function addFilter(Filter $fil) { $this->filter[] = $fil; } public function delFilter($key) { unset($this->filter[$key]); } public function getListFilter() { foreach($this->filter as $key => $value) { P::_echo($value->getName()); } } /** * Получаем SQL-команды создания всех таблиц */ private function getCreateSqlCommand() { $string = "-- ' version ".$this->settings->getSettings(CBSettings::DBVERSION)." ' -- ' revision 11793 ' -- ' prefix ".$this->settings->getSettings(CBSettings::DBTABLE_PREFIX)." ' --"; $this->file->fwrite($string . ";".$this->delimiter); foreach($this->list as $value) { $sqlQuery = "SHOW CREATE TABLE " . $value; $result = sql_query($sqlQuery); $row = sql_fetch_assoc($result); $tmp_c = implode("",explode("\n", strtolower($row['Create Table']))); $this->file->fwrite($tmp_c . ";".$this->delimiter); $this->getInsertSqlCommand($value); } } private function getInsertSqlCommand($table) { //Выбираем все строки $sqlQuery = "SELECT * FROM " . $table; $result = sql_query($sqlQuery); while($row = sql_fetch_assoc($result)) { $values = array(); foreach($row as $fields => $val) { $values[] = is_numeric($val) ? $val : "'" . addslashes($val) . "'"; } $insert = "insert into " . $table . " values (" . implode(', ', $values) . ")"; $this->file->fwrite($insert . ";".$this->delimiter); } } public function getSQL() { $this->file->open(); $this->getCreateSqlCommand(); $this->file->fclose(); } } unlink("10.03.2014.sql"); $listTable = array(1); $filter = new DataFilter($settings, $listTable); $backup = new DiffBackup($settings); $backup->addFilter(new DataFilter($settings, array(1, 341))); //$backup->addFilter(new CalendarFilter($settings)); $backup->getListTable(); $backup->getSQL(); $zip = new ZipArchive(); $res = $zip->open("test.zip", ZipArchive::OVERWRITE); if($res === TRUE) { $zip->addEmptyDir("files/.ext_files"); $zip->addFile("10.03.2014.sql"); $zip->close(); }
Сообщение отредактировал wondertalik: 20 Март 2014 - 18:44
Отправлено 20 Март 2014 - 14:34
Цитата
Цитата
Отправлено 20 Март 2014 - 15:23
CbCoder (20 Март 2014 - 14:34) писал:
Отправлено 20 Март 2014 - 16:00
Отправлено 20 Март 2014 - 16:03
CbCoder (20 Март 2014 - 16:00) писал:
Отправлено 20 Март 2014 - 16:24
Ошибка системы. Error generated: C:\Program Files (x86)\MSTL\ClientBase\www\include\functions_cron.php(1170) : sql_query() C:\Program Files (x86)\MSTL\ClientBase\www\backup.php(401) : load_backup() Ошибка SQL запроса: insert into f_acc_calendars values (10, 1, 10, 1); Duplicate entry '10' for key 'PRIMARY'
$string = "-- ' version ".$this->settings->getSettings(CBSettings::DBVERSION)." ' -- ' revision 11793 ' -- ' prefix ".$this->settings->getSettings(CBSettings::DBTABLE_PREFIX)." ' --";
Сообщение отредактировал wondertalik: 20 Март 2014 - 18:44
Отправлено 20 Март 2014 - 17:15
Цитата
Цитата
Отправлено 20 Март 2014 - 18:43
CbCoder (20 Март 2014 - 17:15) писал:
Отправлено 21 Март 2014 - 08:28
Отправлено 21 Март 2014 - 10:02
CbCoder (21 Март 2014 - 08:28) писал:
Отправлено 21 Март 2014 - 10:15
CbCoder (20 Март 2014 - 14:34) писал:
Отправлено 21 Март 2014 - 10:20
Отправлено 21 Март 2014 - 10:38
Отправлено 24 Март 2014 - 11:40
Отправлено 24 Март 2014 - 11:44
dolphin (24 Март 2014 - 11:40) писал:
Отправлено 24 Март 2014 - 13:47
Отправлено 24 Март 2014 - 13:56
0 пользователей, 5 гостей, 0 анонимных