|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 21.11.2024 - 19:11:39 Изменение структуры БД с txt на DBFОбъявление - WR-Scriptы в UTF-8 кодировке |
---|
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
|
Автор | Сообщение |
---|
sfinexer •
S Участник форума
|
Цитата:
оптимальнее чем 300 раз перезаписывать одну и туже переменную. |
Я это знаю, но видимо когда вначале у разработчика было одна-две замены, в принципе можно и переписать пару раз, а когда замен стало больше, то просто стал делать по подобию.
Да там этот код такая мелочь посравнению с тем что в цикле идет скажем Код: do { $basa=dbase_open("base.dbf",2) or die("<BR>Ошибка - невозможно открыть <B>базу данных 'base.dbf'</B>. Проверьте наличие файла и права доступа на файл"); $dt=dbase_get_record($basa,$fm); dbase_close($basa); |
Ну и цикл конечно не закончен, я тока начало показал. Прикинь, если в цикле к мускулу конектится и закрывать соединение оригинал Код: do { $basa=dbase_open("base.dbf",2) or die("<BR>Ошибка - невозможно открыть <B>базу данных 'base.dbf'</B>. Проверьте наличие файла и права доступа на файл"); $dt=dbase_get_record($basa,$fm); dbase_close($basa); if ($msginout==TRUE) {$num=$itogo-$fm+2;} // обрабатываем REPLACER'ом данные $xtime=replacer($dt[1]); $name =replacer($dt[2]); $email=replacer($dt[3]); $msg=null; for ($i=4; $i<9; $i++) {$msg.=$dt[$i];} $msg=replacer($msg);// Cклеиваем всё сообщение в одну переменную $msg=str_replace("<br>"," ",$msg); $msg=str_replace("","<B><font color=red>",$msg); $msg=str_replace("","</font></B>",$msg); |
У меня Код:$dt= Base::tabread("msg, all, $nach, $poz"); do { $xtime=replacer($dt["timestamp"][$fm])+$tz*3600; $name =replacer($dt["name"][$fm]); $email=replacer($dt["email"][$fm]); $msg=null; $msg=$dt["msg"][$fm]; $msg=str_replace("<br>"," ",$msg); $msg=str_replace("","<B><font color=red>",$msg); $msg=str_replace("","</font></B>",$msg); | Репласеры я не трогал, это мода, бетта версия, может поправлю, я просто показать как запросы обрабатываются. Но тут варианта два, или оптимизировать или писать с нуля, по времени также выйдет.
Иными словами, эти примеры что тут есть хоть и НЕ оптимальны, но посравнению с другими перлами, они почти не вносят никакой нагрузки на сервер.
PS: Капчу конечно можно написть в пару строчек, вопрос в том, что если проект станет более развитым, то боты найдут управу на слабую капчу, поэтому капча идет обычно как класс, ну или подключается в начале скрипта а потом там где надо выводиться, так проще вносить в нее изменения не трогая базовый код.
| |
|
Сообщение # 49 |
16.10.09 - 10:15:19
| | sfinexer •
S Участник форума
|
Вот будет форум 2.0 тогда его форкнем, я уже примерно накидал базу данных для него. Само собой база моей разработки. http://wr-script.exergo.ru/forum/moda/ Вот таблицы поля и тыпв которые пока в ней есть, ну и описание полей http://wr-script.exergo.ru/forum/moda/struktura.html
Там потом поменяю, введу когда пару строчек в базу, для возможности использования целочисленных полей. Ну и чтение куска записи из таблицы. в гостевой в моей моде код запроса $dt= Base::tabread("msg, all, $nach, $poz"); Ну $dt понятно, массив первый элемент которого $dt["name"][$fm] равен имени шапки, второй это то что мы запрашивали. Кстати, в мускуле можно номерами выводить шапку таблицы, но у меня можно номера использовать при создании таблицы. msg- имя таблицы all - то что выводим все поля из таблицы, в ином случае надо перечислить те которые выводить. $nach откуда выводим, например с 40 записи $poz - сколько записей выводим если $poz=10 то выведется с 40 до 50 записи если $poz=-4 то выведется с 36 до 40 ну и + обработка неверного запроса, и всяких там неверно заданных значений. Можно вывести и всю таблицу... там два метода есть $dt= Base::tabread("msg, all, all"); $dt= Base::tabread("msg, all, begin, end");
Ну есть и флаги сортировки, в данном случая закоментил в базе их... но можно выводить как по ID, так и по сортировки этого ID (автоинкримент, он есть всегда, отменить его нельзя.)
То что выбор пощел в сторону DBF это где-то может и плюс, где-то и минус, но в любом случае, базой надо верно пользоваться, а с таким подходом, что мускул что обычные текстовые файлы, всеравно слетать будет. | |
|
Сообщение # 50 |
16.10.09 - 10:40:14
| | admin02 •
A Участник форума
|
Цитата:
Ну и цикл конечно не закончен, я тока начало показал.Прикинь, если в цикле к мускулу конектится и закрывать соединение оригинал |
Мускл конектиттся 1 раз в первых строках скрипт. Дальше идут только запросы на выборку данных =)
Цитата: что мускул что обычные текстовые файлы, всеравно слетать будет. |
За 3 года мускул переклиноло 1 раз и то исправляется "Оптимизировать" за 30 сек. Про dbf незнаю посмотрим в таком случае. А текстовые файл вообще курят в строне. Чисто так сказать нах такая ебл.. когда база текстовых летит чуть не какждую неделю. Я уже заиб.. бекапы делать. Лучше использовать мускл и несидеть на гвоздю и ждать когда база слетит. | |
|
Сообщение # 51 |
16.10.09 - 13:47:12
| | admin02 •
A Участник форума
|
Сейчас у меня в базе 3533010 записей и работает как часики. http://speed-tester.info/ | |
|
Сообщение # 52 |
16.10.09 - 13:50:09
|
| sfinexer •
S Участник форума
|
Цитата:
Сейчас у меня в базе 3533010 записей и работает как часики. http://speed-tester.info/
|
Ну ты вырвал из текста записи, и говориш о другом.
353 тыши записей, а какая разница сколько, конечно это ближе к ораклу.... Да и разница тока в том как сформирована таблица индексов в БД, это специфика самой базы. У меня более выгодна для небольшого количества записей, для больше го просто три таблицы надо и все.
То что работае да, вопрос как быстро | |
|
Сообщение # 53 |
16.10.09 - 18:04:36
| | admin02 •
A Участник форума
|
Посмотрим как часто будет ваша база лететь Тогда оценим. Жду новой доски объявлений. | |
|
Сообщение # 54 |
16.10.09 - 18:27:23
| | sfinexer •
S Участник форума
|
Цитата:
http://speed-tester.info/ |
Тест скорости инета ебанутый. Он верен, но он старый ;) | |
|
Сообщение # 55 |
16.10.09 - 18:30:56
| | sfinexer •
S Участник форума
|
Цитата:
Жду новой доски объявлений. |
Гостевой чтоли... А Я писал, база данных на 12 версии там стабизирована, хоть сейчас уже и 13 вышла (кстати тут ее можно скачать, вместе с описанием) но гостевая на 12 работает. Там тока орфограйфия и прочий текст, а так ничего меняться не будет. | |
|
Сообщение # 56 |
16.10.09 - 18:32:37
| | sfinexer •
S Участник форума
|
Жду, как слетит скажеш, можеш тему создать что слетела. | |
|
Сообщение # 57 |
16.10.09 - 18:35:00
| | sfinexer •
S Участник форума
|
Цитата:
Жду, как слетит скажеш, можеш тему создать что слетела. |
Ну и архивчик слетевшей базы приложи к теме где напишеш что она слетела. | |
|
Сообщение # 58 |
16.10.09 - 18:41:29
| | sfinexer •
S Участник форума
|
Цитата:
Конфиг базы само собой по умолчанию оставляем Тоесть тестим то что ставит комкователь, база слетит - в архив и пишем что слетела. | |
|
Сообщение # 59 |
16.10.09 - 18:46:46
| | sfinexer •
S Участник форума
|
в 14 версии там полный многопоточный режим доработан... в 13 он тоже есть, но он в конфиге убран. Ну и пару функций новых в 14 добавлено, немного переоформлены странички. Впрочем я писал, что 14 это некая промежуточная версия будет, потом будут более глобальные изменения. Форум будет на 16 версии сделан. так как нив 14 нив 15 не будет флагов, а следовательно, форум несможет вывести все посты какого-то пользователя. | |
|
Сообщение # 60 |
16.10.09 - 19:27:06
| |
|