![]() |
Как оформить дамп...
...посолидней в файл? Т.е. что мне нужно: есть табла ее надо сдампировать в текстовый файл средствами скрипта РНР при том каждое поле загонять вот примерно так:
Id tra-ta-ta Name name_tra-ta-ta Fam fam_tra-ta-ta ... Info info_tra-ta-ta и т.д. Записей не много(170, но будет больше), но не хочется долбаться вручную и вообще на будущее может понадобиться! Как это сделать не соображу! Подскажите кто знает или такое уже делал! |
вариант 1:
использовать привилегии пользователя (гранты) mysql на выполнение FILE трудности: а кто тебе даст эту привилегию? вариант 2: использовать скрипт, который берет данные из базы, формирует в нужную тебе форму и пишет в файл: 1. Достаем данные из базы: $sql = "SELECT * FROM folio"; $result = mysql_query ($sql) or die ("failed to run query"); 2. Определяем конечный массив данных: $data = Array(); 3. Идем циклом по результатам из базы, формируем за каждый шаг массив из элементов одной записи, потом это добавляем в общий массив: while ( $row = mysql_fetch_row ($result) ) { $item = Array ("ID: ".stripslashes($row[0]).";", "TITLE: ".stripslashes($row[1]).";", "URL: ".stripslashes($row[2]).";\n"); $data = array_merge ($data, $item); } 4. ну и пишем в файл... $fp = fopen ("ddm2.dump", "w") or die ("failed to open or create file"); fputs ($fp, implode ("\n", $data) ) or die ("failed to write into fileS"); fclose($fp) or die ("failed to close file"); 5. Результат в файле такой: ID: 1; TITLE: Billa; URL: bil3.jpg; ID: 2; TITLE: Billa; URL: bil1.jpg; ... Это простая и удобная схема. Можно ее наворачивать - автоматически генерить размер массива $item, беря инфу из той же базы (DESCRIBE), можно реализовать проверку файла перед записью и новое дописывать в конец, и так далее... трудись, все получится :) |
2 Ihorko: Огромное СПА!
Вот блин-то! Спасибо большое. Все предельно понятно, если что, то может еще потревожу. А вот насчет привилегий(вариант 1), то мнеэто не проблема, т.к. Я непосредственно на работе с серваком работаю, т.е. могу если мне надо любые права поставить, тем более что это надо для администрирования нашего сайта и кроме админа сайта никто этих действия делать не будет. Но все-таки второй вариант лучше, он более ониверсален, хотя если объяснишь первый вариант - то буду благодарен вдвойне!
|
оч просто - залазишь в mysql monitor и даешь команду выполнить дамп базы такой-то, таблицы такой-то, тип дампа (структура, данные, и то и другое), способ форматирования и имя файла, куда сливать...
точный синтаксис не помню, поскольку сам редко такое делаю - из пхп удобнее :), но если оч надо - посмотри в документации mysql, там все предельно понятно написано |
Есть такая программка для работы с МуСКЛ MySQLFront называется. Там есть и создание дампов и еще много много разных очень полезных функций. (Но правда бывае немного глючит) вот линка кому надо http://www.mysqlfront.de/
|
да, приятная программуля для работы со своим мускулом на своей локальной ВИНДОВОЙ тачке...
а теперь жестокая реальность: твой сайт хостится на FreeBSD, у тебя доступ к бд-серверу на одну базу данных, которая называется как и твой логин у этого хостера, доступ к бд-серверу разрешен только локально (тоесть или с того же сервера через свой шелл-аккаунт или скриптом с того же сервера хостинга) и у тебя привилегии на CREATE, SELECT, UPDATE, DELETE, DROP??? Представили себе ситуацию? Да, согласен, нефиг ее представлять, все кроме админов так живут, и уже не первый год... А при таком раскладе засовываем эту программулю в задницу по самые кнопки 'close' и 'minimize/maximaze'... hoster@ihorko> mysql -u ihorko -p РУЛЬ!!! |
Ну а если все так тяжко как ты описываешь, то вполне можно воспользоваться локальным платформонезависимым скриптом. Например PHPMySQLAdmin (точно названия не помню, если не правильно, извините) который, кстати, тоже умеет создавать дамп - схемы. Кстати, интересно, есть ли аналог вышеразкритикованой проги под Линукс? Наверняка есть да еще и красивее :) :D
|
Да это все понятно...
Ребята, Я все эти прграммки знаю, тем более на Mysql Front сам линк давал модератору раздела :D, и PhpMyAdmin Я знаю, но она ничего не дает дельного при создании дампа, сплошной текст и все, никакого сервиса. Так что приходится делать, что мне тоже больше нравится, свой скрипт для этих целей. Но вот не отрабатывает запись в файл у меня, проверяю пока на локальной машине. Не знаю почему, но файл не трогает вообще, т.е. запрос работает, отдает все циклу(Я думаю) цикл все отрабатывает(Я думаю), но вот файлик пуст! :( Что скажешь Ihorko
|
под иксы есть... сам ни линухе посиживаю :) так что знаю...
но чтобы ею пользоваться, ее надо запускать из графического режима, с машины, на которой стоит линух... а хостер тебе такого никогда не даст, даже если приедешь к нему в офис и скажешь: дяди, пустите меня, я хочу поработать с мускулом из линуксового графического мускуль-менеджера... как минимум засмеют :) все хостеры дают (если вообще дают) доступ к серверу по протоколу SSH - а это терминальный протокол... и пользоваться прогами, которые требуют графического режима ты не сможешь... если ты еще не понял, то привожу пример: у тебя есть фотошоп. даже заинсталеный. но на компе у тебя слетела винда и остался дос. если ты запустишь фотошоп из этого доса, что он тебе скажет? правильно, пошлет куда подальше :) а по поводу phpMyAdmin... да, очень хорошая вещь. но. во первых - не все хостеры ее дают. во-вторых - если захочешь сам поставить - вперед, только она места дохрена занимает. последняя версия - 3,5 мегабайта. можно конечно урезать все лишнее, если знаешь пхп+мускуль... но в таком случае проще написать на том же пхп+мускуль своего клиента :) - дешево и сердито. в конце концов, если у тебя даже стоит этот phpMyAdmin, есть еще одна проблема. для того, чтобы сделать дамп, тебе надо руцями заходить, и тыцять грызуном куда надо... а вот такой вот скрипт для создания дампов полезен тем, что он может выполняться незаметно, быть частью большей программы, запускаться кронтабом... и так далее :) жизненный пример: сделал заказчику сайт. сделал админ-часть (Content Management System), чтоб секретарь или еще какой-то человек без спецзнаний мог добавлять/редактировать материалы на сайте. все путем. но допустим такой вариант - секретарша зашла в админчасть и случайно удалила несколько записей... или просто каким-то странным образом выполнила файл install.php, который очистил нафиг всю базу... что будем делать? да, это уже проблемы заказчика, но ведь он нам заплатил за хорошую админчасть... так вот в такой ситуации мой скрипт помогает! каждый раз, когда проходит авторизация администратора сайта, перед тем как показать уже содержимое админчасти, вот этот скриптик на фоне преспокойно делает дамп... и в случае чего мы просто нажимаем кнопочку "восстановить из последнего архива" и база на месте :) а прогу я не раскритиковывал... на самом деле действительно приятная программа, просто пользы от нее для реальное работы с базой на хостинге - НОЛЬ! :) |
2 Froggy
вместо записи в файл попробуй просто вывести все на экран. слепи все элементы массива в строку: $data_string = implode ("<br>", $data); и попроси пхп напечатать всю ету дрянь... print $data_string; Если у тебя и сейчас ничего не вилезет на странице, тогда быренько открывай аську, нажимай кнопку "поиск/приглашение юзера" и вбивай тут мой уин - 51956656. я так понял мы одновременно оба в онлайне, так что помогу чем смогу :) кстати, у меня этот скрипт 1 в 1 работает! правда у меня пхп 4.2, но там нет ничего такого, что бы могло не работать в более поздних версиях пхп 4 |
| Часовой пояс GMT +4, время: 15:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.