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

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

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

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 14.07.2024 - 11:26:47
Страницы:  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  

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

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

Смайлы:

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