Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 14.12.2025 - 04:35:28
Страницы:  1 ... 2  3  4  5  6  

Изменение структуры БД с txt на DBF

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2026 год.

АвторСообщение

sfinexer

S
Участник форума

https://www.wr-script.ru/forum/index.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42

А если так Как те логочипчик.

Ну то что ты описал реализовано в моей базе на php. И есть в моей моде гостевой книги, тоесть СТАРЫЕ (удаленные) записи затираются НОВЫМИ, автоматически.

Кстати, если мне не изменяет мой склероз ;) то база подобная MySQL не делает фрагментирование на лету, а лиш пишет процент фрагментирования ДА ДА, ЭТОТ ПРОЦЕНТ ВЫВЕДЕН В ПАНЕЛЕ УПРАВЛЕНИЯ БАЗОЙ. И чтобы убрать эти пустоты, надо ИМЕННО делать сжимание базы что равно dbase_pack(), или ты кнопочку "фрагментировать" в панеле мускула не видел?????????????????????
Так вот в моей базе, это на лету делаться, достаточно задать процент фрагментирования, по умолчанию 10%.

Так что то что ты говориш что в твоем супер MySQL нету пустот а нах тогда кнопка там "фрагментировать" и ВЫВЕДЕНО РАЗМЕР МЕСТА НА ДИСКЕ ЧТО ЗАНИМАЮТ ПУСТОТЫ??????

Сообщение # 40 14.10.09 - 22:18:38

admin02

A
Участник форума

Глубокая пурга.

Вначале неплохобылобы оптимизировать скрипты а потом лесть в дебри если даже <? и <?php не понимаем.

К примеру....

Пурга:

Код:


// собираем данные по шаблону: RN-ключ &#124; МКТАЙМ:время_в_UNIX_формате &#124; имя &#124; емайл &#124; собщение, раздробленное на 6 кусочков по 250 символов каждый &#124; коментарий админа
$record=array("$rn","$today","$name","$email","$m[0]","$m[1]","$m[2]","$m[3]","$m[4]","");


Очередная пурга:

Код:
$text=str_replace(" ",' ',$text);
$text=str_replace(">",'&gt;',$text);
$text=str_replace("<",'&lt;',$text);
$text=str_replace("\"", '&quot;',$text);
$text=preg_replace("/\n\n/",'<p>',$text);
$text=preg_replace("/\n/",'
',$text);
$text=p reg_replace("/\\\$/",'&#036;',$text);
$text=preg_replace("/\r/",'',$text);
$text=preg_replace("/\\\/",'&#092 ;',$text);
$text=str_replace("\r\n","
",$text);
$text=str_replace("\n\n",'<p>',$text);
$text=str_replace("\n",'
',$text);
$text=str_replace("\t",'',$text);
$text=str_replace("\r",'',$text);
$text=str_replace(' ',' ',$text);


и ето пурга:


Код:
if ($num=="0") {$len="63"; $number=$st."WjIFgi6e+QpMP0jin1bfv2nFaBlJaAQA7";}
if ($num=="1") {$len="61"; $number=$st."UjA1wG8noXlJsUnlrXhE/+DXb0RUAOw==";}
if ($num=="2") {$len="64"; $number=$st."XjIFgi6e+QpMPRlbjvFtnfFnchyVJUAAAOw==";}
if ($num=="3") {$len="64"; $number=$st."XjIFgi6e+Qovs0RkTzXbj+3yTJnUlVgAAOw==";}
if ($num=="4") {$len="64"; $number=$st."XjA9wG8mWFIty0amczbVJDVHg9oSlZxQAOw==";}
if ($num=="5") {$len="63"; $number=$st."WTIAJdsuPHovSKGoprhs67mzaJypMAQA7";}
if ($num=="6") {$len="63"; $number=$st."WjIFoB6vxmFw0pfpihI3jOW1at3FRAQA7";}
if ($num=="7") {$len="61"; $number=$st."UDI4Xy6vtAIzTyPpg1ndu9oEdNxUAOw==";}
if ($num=="8") {$len="63"; $number=$st."WjIFgi6e+QpMP2slSpJbn7mFeWDlYAQA7";}
if ($num=="9") {$len="64"; $number=$st."XjIFgi6e+QpMP0jinvbT2FGGPxmlkohUAOw==";}


В вашем случае нужно открыть книгу и убедится что там не видна фига.

Сообщение # 41 15.10.09 - 01:35:46

sfinexer

S
Участник форума


Цитата:

если даже <? и <?php не понимаем.

А что там понимать...

Сообщение # 42 15.10.09 - 08:40:22

admin02

A
Участник форума


Цитата:

Я чуть со стула не ебанулся.
Хорошо, найди ХОТЬ ОДИН скрипт, (не поделку на коленке а нормальный) где он начинается с <? а не с <?php

Есть же стандарты оформления!!!



Цитата:
sfinexer, если ты вообще брал в руки учебник по PHP то там четко написано что <? и <?php теперь яляется стандартом и разницы между <? и <?php нет.


Нащёт 2 кусков что скажеш?

Сообщение # 43 15.10.09 - 15:15:55

admin02

A
Участник форума

Точнее 3 с кодом....

Сообщение # 44 15.10.09 - 15:29:26

sfinexer

S
Участник форума


Цитата:

Точнее 3 с кодом....

Капча меня не интерисует, у меня в модах другая стоит.
А замена... ну есть несколько вариантов, вплоть и до втроенной функции замены таких всяких знаков подобных "< и иных что написаны.

Конечно, код не оптимален, но в принципе, можно и так оставить. А вобще, это настраиваться как в конфиге php так и функция есть тогоже php, это чтобы всякие скриптики от пользователя не сработали.

А чего за три, насчет <?php оно тоже настраиваеться, мне правда тут сказали В ЭТОЙ ТЕМЕ.

Цитата:
Вот такой у меня не нормальный код Зато работает на любом не нормальном хостинге
Я же стараюсь писать скрипты, который пойдут на любом хостинге. Хоть на php 3

Я конечно ответил

Цитата:
Я чуть со стула не ебанулся.
Хорошо, найди ХОТЬ ОДИН скрипт, (не поделку на коленке а нормальный) где он начинается с <? а не с <?php

Есть же стандарты оформления!!!

Но помоему мое мнение никого не интересует поэтому все исправления я делаю в своих модах.
А если тут начинаеш говорить... порой смотрят как на дурака.
PS: Я хотел сделать скрин мускула, где написано про размер фрагментированности записей, но не стал, если интересно сам посмотри. Просто, мускул, это вроде как общепринято, у меня почти тоже самое но на php, причем моя база неплохо развивается, и почти реализован поиск уже, ну и налету фрагментация - БЕЗ НАГРУЗКИ НА СЕРВЕР!

Сообщение # 45 15.10.09 - 19:36:56

admin02

A
Участник форума


Цитата:

PS: Я хотел сделать скрин мускула, где написано про размер фрагментированности записей, но не стал, если интересно сам посмотри.


Вкурсе что там находится.

Цитата:
Конечно, код не оптимален

Ябы сказал код ужасно неопитмален. =(


Для начала:

Код:
if ($num=="0") {$len="63"; $number=$st."WjIFgi6e+QpMP0jin1bfv2nFaBlJaAQA7";}
if ($num=="1") {$len="61"; $number=$st."UjA1wG8noXlJsUnlrXhE/+DXb0RUAOw==";}
if ($num=="2") {$len="64"; $number=$st."XjIFgi6e+QpMPRlbjvFtnfFnchyVJUAAAOw==";}
.........


непробовали использовать switch??? во всех скриптах ниразу невидел. Или 1000 раз использовать if ето очень оптимально?

Код:
switch($num) {
case 0 : $len="63"; $number=$st."WjIFgi6e+QpMP0jin1bfv2nFaBlJaAQA7";
break;
case 1 : $len="61"; $number=$st."UjA1wG8noXlJsUnlrXhE/+DXb0RUAOw==";
break;
case 2 : $len="64"; $number=$st."XjIFgi6e+QpMPRlbjvFtnfFnchyVJUAAAOw==";
}
.......
и ето еще каптча так устроена? =D
У меня код каптчи в пару строчек и работает не хуже.

http://vesj.net/news_203_lednikovyj_period_3_dvdrip.html

Сообщение # 46 16.10.09 - 01:39:39

admin02

A
Участник форума


Код:

$text=str_replace(" ",' ',$text);
Дурим мозги комуто


Переделываем ужас:

Цитата:
$text=str_replace(" ",' ',$text);
$text=str_replace(">",'&gt;',$text);
$text=str_replace("<",'&lt;',$text);
$text=str_replace("\"", '&quot;',$text);
$text=preg_replace("/\n\n/",'<p>',$text);
$text=preg_replace("/\n/",'
',$text);
$text=p reg_replace("/\\\$/",'&#036;',$text);
$text=preg_replace("/\r/",'',$text);
$text=preg_replace("/\\\/",'&#092 ;',$text);
$text=str_replace("\r\n","
",$text);
$text=str_replace("\n\n",'<p>',$text);
$text=str_replace("\n",'
',$text);
$text=str_replace("\t",'',$text);
$text=str_replace("\r",'',$text);
$text=str_replace(' ',' ',$text);


вот так: (все неперечисленно)


Цитата:
$se_pre = array('/\n&#124;(\r\n)/m',
// '', и т.д.
);

$rep_pre = array('<br />',
// '', и т.д.
);

$se_str = array('>',
'<', // и т.д.
);

$rep_str = array('&gt;',
'&lt;', //и т.д.
);

$text = preg_replace ($se_pre, $rep_pre, str_replace ($se_str, $rep_str, $text));

Сообщение # 47 16.10.09 - 01:58:36

admin02

A
Участник форума

или


Код:

$ar = array(
">" => "'&gt;",
"<" => "'&lt;",
);

$text = strtr($text, $ar );


оптимальнее чем 300 раз перезаписывать одну и туже переменную.

Сообщение # 48 16.10.09 - 02:03:43

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("&lt;br&gt;","
",$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("&lt;br&gt;","
",$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
РЕБЯТА - ТУТ ЖЕ ПОЛНО НОРМАЛЬНЫХ ПАРНЕЙ ИЛИ Я САМ? :Предыдущая темаСледующая тема: Все наши пароли в открытом доступе.
Страницы:  1 ... 2  3  4  5  6  

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени для обращения к участнику

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (2+2=?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия