|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 03.12.2024 - 21:42:59
Страницы: 1 Галерея вопрос тому кто ее создавалОбъявление - WR-Scriptы в UTF-8 кодировке |
---|
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
|
Автор | Сообщение |
---|
Orc •
O Участник форума
|
Здраствуйте, уважаемый админ! Просматривал код и возник такой вопрос:
там есть участок кода на главной странице, где происходит 1)резерв БД 2)пересчет голосов. Вот он:
Код: $lines=file($datafile); $itogo=count($lines); $maxi=$itogo-1; $i=0;
if ($maxi>=0) {
// БЛОК 1. резервирует БД (додумать что с этим можно делать). // 2. пересчитывает кол-во голосов за фотки. do {$tdt=explode("|",$lines[$i]); $msnum=$tdt[10]; $itogobals="-1"; $all=""; if (is_file("$datadir/$msnum.dat")) { $rlines=file("$datadir/$msnum.dat"); $ri=count($rlines); $bals=0; $all=0; do {$ri--; $edt=explode("|",$rlines[$ri]); if ($edt[4]!=0) {$bals=$bals+$edt[4]; $all++;} } while($ri>0); if ($bals==0) {$itogobals="-1";} else {$itogobals=round($bals*10/$all)/10;} }
if ($tdt[11]!=$itogobals or $tdt[12]!=$all) {$yes="yes"; $nlines[$i]="$tdt[0]|$tdt[1]|$tdt[2]|$tdt[3]|$tdt[4]|$tdt[5]|$tdt[6]|$tdt[7]|$tdt[8]|$tdt[9]|$tdt[10]|$itogoba ls|$all|\r\n";} else {$nlines[$i]=$lines[$i];} $i++; } while($i<=$maxi);
if (isset($yes)) {
//$fsize1=filesize($datafile); $fsize2=filesize("fototmp.dat"); //if ($fsize1!=$fsize2) { // Если размер файлов одинаков, значит изменений в данных нет!
$fp=fopen("fototmp.dat","w"); flock ($fp,LOCK_EX); for ($ii=0;$ii<count($lines); $ii++) { fputs($fp,"$lines[$ii]"); } flock ($fp,LOCK_UN); fclose($fp); @chmod("fototmp.dat", 0644);
$fp=fopen("fotobase.dat","w"); flock ($fp,LOCK_EX); for ($ii=0;$ii<count($nlines); $ii++) { fputs($fp,"$nlines[$ii]"); } flock ($fp,LOCK_UN); fclose($fp); @chmod("fotobase.dat", 0644); } |
Он как я понял пересчитывает к-во голосов каждой фотки, затем сравнивает к-во голосов в главном файле и $msnum.dat, и если они не совпадают, то перезаписывает результат в главный файл данных.
Так вот у меня вопрос - а зачем это? Тут ведется учет того что файлы могут быть изменены вручную, или как?.. Объясните пожалуйста, не очень понимаю... | |
|
Сообщение # 1 |
15.01.10 - 21:32:54
| | Orc •
O Участник форума
|
Ой все я ступорылил просто! Этот кусок предназначен для того чтоб перезаписывать главный файл БД, а то ведь при добавлении комента и оценки данные записываются тока в $msnum.dat! Все я понял) | |
|
Сообщение # 2 |
15.01.10 - 22:31:33
| | qaz •
Q гость
|
Как можно реализовать подсчёт всех комментариев? | |
|
Сообщение # 3 |
26.01.10 - 10:52:04
| | qaz •
Q гость
|
if ($name==="" || strlen($name)>$maxname)
как суда добавить проверку на пробел? чтоб нельзя было оставлять коменты с одним пробелом.. | |
|
Сообщение # 4 |
28.01.10 - 10:45:56
|
| 790 •
7 Участник форума
|
Можно сначала обрезать пробелы по краям, а потом проверять на пустое значение. Я просто в место пустого ника ставлю IP автора. | |
|
Сообщение # 5 |
28.01.10 - 23:19:34
| | Страницы: 1
|