Нужно разрезать базу на несколько частей, подскажите какие нибудь проги или скрипты, пробовал Файлы режуться, но после этого не открываются поврежденный архив....
у тебя скрипт создает не архив .gz, а просто файл с расширением .gz. поэтому архиватор и пишет что архив поврежден..
зачем тебе её разбивать? имхо разбивать только вручную, т.к скрипты разобьют дамп криво(запрос на несколько частей поделят), потом при импорте ошибки будут... p.s: пока ты тут ответов ждешь уже можно было все вручную разбить, и запаковать в .gz как тебе надо... p.s2: если у тебя с импортом больших файлов проблеммы посмотри, sypex dumper и это
Пробовал ей, 140 мб и все дальше говорит не возможно соединится с удаленным URL Если увеличить то выдает ошибку... где то на 70 мб и дальше не идет... А вручную 70 тыс строк... это сложно...даже до конца страницы дойдти проблема минут 5 думает
Мой вариант твоего скрипта. Для текстовых файлов. PHP: <?php set_time_limit(0); $file_in = 'file.sql'; #входной файл $file_out['name'] = 'file_'; #выходной файл имя $file_out['ext'] = '.sql'; #выходной файл расширение $count = 10000; #колличество строк в одном выходном файле if(file_exists($file_in)) { $content = file($file_in); } else { die('Не найден входной файл ' . $file_in); } echo('Всего - ' . count($content) . ' строк'); for ($c = 0; $c < (count($content) / $count); $c++) { $file = fopen($file_out['name'] . $c . $file_out['ext'], 'w'); for($i = 0; $i < $count; $i++) { fprintf($file, '%s', $content[$c * $count + $i]); } fclose($file); } echo('<hr>' . $c . ' файлов создано<br>Работа завершена.'); ?> Для gz файлов. PHP: <?php set_time_limit(0); $file_in = 'file.gz'; #входной файл $file_out['name'] = 'file_'; #выходной файл имя $file_out['ext'] = '.gz'; #выходной файл расширение $count = 10000; #колличество строк в одном выходном файле if(file_exists($file_in)) { $content = gzfile($file_in); } else { die('Не найден входной файл ' . $file_in); } echo('Всего - ' . count($content) . ' строк'); for ($c = 0; $c < (count($content) / $count); $c++) { $file = gzopen($file_out['name'] . $c . $file_out['ext'], 'w'); for($i = 0; $i < $count; $i++) { gzwrite($file, $content[$c * $count + $i]); } gzclose($file); } echo('<hr>' . $c . ' файлов создано<br>Работа завершена.'); ?> P.S. Хорошо отформатированный код - залог хорошей отладки и больше шансов, что кто-то его посмотрит P.S.S Как показала практика - результат всёравно нужно будет допиливать, или добавлять ещё условия разбиения, или формирование всех запросов 1 запрос = 1 строка
file_00 проходит file_01 неуказана кодировка.... file_00 выглядет так... file_01 сразу дамп идет Как сделать что бы в file_01 была нормальная кодировка, пробовал просто прибавить в начало строку не работает(((
Как я уже гвоорил: 1) Чтобы все запросы были корректы, они должны быть однострочными (т.е. 1 запрос = 1 строка) 2) Кодировка в основном зависит от используемого средства для загрузки дампа и кодировки файла. Для принудельной установки кодировки используй /showpost.php?p=1310245&postcount=642