|
Бесплатные PHP скрипты - форум техподдержки |
Форум техподдержки WR-Скриптов на php. Обсуждаем: основы программирования на PHP 5 - 7 версий, различные подходы к написанию скриптов на php 7 без MySQL. А также WR-скрипты: бесплатные доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Анекдот и другие. Принимаются пожелания для новых версий. Сообщите какой скрипт нужен для Вашего сайта, постараемся найти или реализовать. Скачать скрипты можно бесплатно. Вместе мы сделаем бесплатные php скрипты лучше и доступнее!
|
| Сегодня: 23.11.2024 - 19:42:47 Форум WR-Forum 1.9 (архив)Объявление - WR-Scriptы в UTF-8 кодировке |
---|
Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.
На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий! Планирую продолжить работы весь 2023 год.
|
Автор | Сообщение |
---|
LOSKAND •
L Участник форума
|
толи проблемы с метатегами, толи с кодировкой сервера мили с поддержкой языков где установлен скрипт форума | |
|
Сообщение # 325 |
04.06.11 - 19:37:13
| | uzebnet •
U Участник форума
|
Привет всем, нужна помощь! короче, мне нужно что бы файл userstat.dat записывался 2раза. т.е. в index.php нужно дать команду на запись 2раза. кто может помочь?
как я понимаю, вот это часть кода отвечает за запись на userstat.dat Код: if (isset($_COOKIE['wrfcookies']) and ($ok!=FALSE)) { $ufile="$datadir/userstat.dat"; $ulines=file("$ufile"); $ui=count($ulines)-1; $ulinenew=""; $fileadd=0; | ?! Что добавить, как сделать, что-бы копия записи записывалось на userstat2.dat | |
|
Сообщение # 326 |
10.06.11 - 18:08:27
| | LOSKAND •
L Участник форума
|
Код:
$text="$name|$ps|0|$email|$dayreg||$pol||||||noavatar.gif|$key|"; $text=replacer($text); //записываем строку в оснофной файл usersdat.php $file=file("$datadir/usersdat.php"); $fp=fopen("$datadir/usersdat.php","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp); //записываем строку в файл usersdat2.php $file=file("$datadir/usersdat2.php"); $fp=fopen("$datadir/usersdat2.php","a+"); flock ($fp,LOCK_EX); fputs($fp,"$text\r\n"); fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp); // Записываем строчку с именем в файл со статистикой $file=file("$datadir/userstat.dat"); $fp=fopen("$datadir/userstat.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$name|0|0|0|0|||\r\n"); fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp); // Записываем строчку с именем в файл со статистикой userstat2.dat $file=file("$datadir/userstat2.dat"); $fp=fopen("$datadir/userstat2.dat","a+"); flock ($fp,LOCK_EX); fputs($fp,"$name|0|0|0|0|||\r\n"); fflush ($fp);//очищение файлового буфера flock ($fp,LOCK_UN); fclose($fp);
| | |
|
Сообщение # 327 |
12.06.11 - 14:46:24
| | LOSKAND •
L Участник форума
|
Код: if (isset($_COOKIE['wrfcookies']) and ($ok!=FALSE)) { $ufile="$datadir/userstat.dat"; $ulines=file("$ufile"); $ui=count($ulines)-1; $ulinenew=""; $fileadd=0; $ufile2="$datadir/userstat2.dat"; $ulines=file("$ufile"); $ui=count($ulines)-1; $ulinenew=""; $fileadd=0; // Если юзер загружает файл - то ему ещё +5 в РЕПУ if (isset($_FILES['file']['name']) and $repaaddfile!=FALSE) {if (strlen($_FILES['file']['name'])>1) $fileadd=$repaaddfile;} // Ищем юзера по имени в файле userstat.dat for ($i=0;$i<=$ui;$i++) {$udt=explode("|",$ulines[$i]); if ($udt[0]==$wrfname) { $udt[2]++; $udt[3]=$udt[3]+$fileadd; if ($_GET['event']=="addtopic") {$udt[1]++; $udt[3]=$udt[3]+$repaaddtem;} else $udt[3]=$udt[3]+$repaaddmsg; $ulines[$i]="$udt[0]|$udt[1]|$udt[2]|$udt[3]|$udt[4]|$udt[5]||||\r\n";} $ulinenew.="$ulines[$i]";} // Пишем данные в файл $fp=fopen("$ufile","w"); flock ($fp,LOCK_EX); fputs($fp,"$ulinenew"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); // Пишем данные в копию $fp=fopen("$ufile2","w"); flock ($fp,LOCK_EX); fputs($fp,"$ulinenew"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } | | |
|
Сообщение # 328 |
12.06.11 - 14:53:14
|
| LOSKAND •
L Участник форума
|
1 код при регистрации записываем пользователя как и в общий файл статистики так и в дубликат . 2 код редактируем записи учасников в основном файле а также копии | |
|
Сообщение # 329 |
12.06.11 - 15:16:12
| | uzebnet •
U Участник форума
|
Ваув, вот это да. Короче, извини, был не прав. Спасибо, иду пробовать. Отпишусь что получилось! | |
|
Сообщение # 330 |
12.06.11 - 17:37:31
| | WR •
W Участник форума
|
Цитата:
WR раздели активных в разные файлы по рейтингу, в данной версии у тебя строка активных по репутации равна строке активных по сообщениям, тоесть тыкая по себе в рейтиге репы я натыкаюсь на профайл вышестоящего по рейтингу сообщений. | Исправил. Скрипт перезалил. Что ещё сделать в форуме? | |
|
Сообщение # 331 |
13.06.11 - 09:42:42
| | LOSKAND •
L Участник форума
|
вот мелкий глюк статистика популярных тем 12.05.11 20:10 [121 сообщ.] Оцените! последний - Владимир Запись в статистике есть а темы нет | |
|
Сообщение # 332 |
13.06.11 - 13:39:57
| | uzebnet •
U Участник форума
|
Цитата:
LOSKAND пишет: 1 код при регистрации записываем пользователя как и в общий файл статистики так и в дубликат . 2 код редактируем записи учасников в основном файле а также копии |
Все работает, спасибо. Но, мне бы одну из userstat можно было аннулировать, т.е. сбрасывать до нуля. Объяснение: userstat и userstat2 должны быть разными. 1 - Общий счет активности 2 - Каждый раз после сбрасывания (аннулирования) файла, все должно начинаться с нуля. | |
|
Сообщение # 333 |
15.06.11 - 13:50:50
| | LOSKAND •
L Участник форума
|
То есть нужен сброс только userstat а userstat2 оставить в покое как резерв и при обнулении первого использовать как бекап второй? или оба что бы сбрасывались? или может третий вариант, первый сбрасывать а во втором нужно продолжение записи без обнуления? объясни конкретнее в общем. и вот ещё непонятный момент, ты хочешь что бы статистика показывалась только по результатам 1го файла или только второго, или оба файла в сумме?
Есть php код обнуления файла или подсказать пару вариантов ещё нужно? | |
|
Сообщение # 334 |
15.06.11 - 16:23:12
| | uzebnet •
U Участник форума
|
Цитата:
LOSKAND пишет: третий вариант, первый сбрасывать а во втором нужно продолжение записи без обнуления? |
Вот что нужно, ты правильно выразился в третьем варианте!
Цитата:и вот ещё непонятный момент, ты хочешь что бы статистика показывалась только по результатам 1го файла или только второго, или оба файла в сумме?
|
Я хочу что бы Первый файл userstat отвечал за общую статистику посетителя. Т.е. с начала регистрации. А второй файл userstat2 отвечал за статистику за месяц. Т.е. именно userstat2 можно было обнулять 1раз в месяц. Вообще то, разницы нет, какой именно файл обнулять, факт в том, что один из них будет нулироваться раз в месяц. Автоматом или в ручную, разницы нет! | |
|
Сообщение # 335 |
15.06.11 - 18:29:52
| | LOSKAND •
L Участник форума
|
в общем вот вариант скажу сразу первый код представленный мной на прошлой странице, редактировать не будем, он работает так как нам надо а вот второй подредактируем Код: if (isset($_COOKIE['wrfcookies']) and ($ok!=FALSE)) { $ufile="$datadir/userstat.dat"; $ulines=file("$ufile"); $ui=count($ulines)-1; $ulinenew=""; $fileadd=0; $ufile2="$datadir/userstat2.dat"; $ulines=file("$ufile"); $ui=count($ulines)-1; $ulinenew=""; $fileadd=0; // Если юзер загружает файл - то ему ещё +5 в РЕПУ if (isset($_FILES['file']['name']) and $repaaddfile!=FALSE) {if (strlen($_FILES['file']['name'])>1) $fileadd=$repaaddfile;}
// Ищем юзера по имени в файле userstat.dat for ($i=0;$i<=$ui;$i++) {$udt=explode("|",$ulines[$i]); if ($udt[0]==$wrfname) { $udt[2]++; $udt[3]=$udt[3]+$fileadd; if ($_GET['event']=="addtopic") {$udt[1]++; $udt[3]=$udt[3]+$repaaddtem;} else $udt[3]=$udt[3]+$repaaddmsg; $ulines[$i]="$udt[0]|$udt[1]|$udt[2]|$udt[3]|$udt[4]|$udt[5]||||\r\n";} $ulinenew.="$ulines[$i]";} // Пишем данные в файл $fp=fopen("$ufile","w"); flock ($fp,LOCK_EX); fputs($fp,"$ulinenew"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp);
$sroknd=date(d); //вычисляем текущий день календаря $sroknt=date("H:i:s"); //вычисляем текущее время $sroknulleddata="30"; //в какой день хотим обнулять файл $srokulledtime="00:00:00"; //время начала обнуления файла if($sroknd==$sroknulleddata and $sroknt==$srokulledtime){ //если день к примеру 30 августа и на часах ровно полночь то Unlink($ufile2); //удаляем файл userstat2.dat $fp=fopen("$ufile2","a"); //и создаём новый userstat2.dat flock ($fp,LOCK_EX); fputs($fp,""); //без записей fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } else {//если день не 30 а допустим уже первое и время на часах 00:00:01 $fp=fopen("$ufile2","w"); //то продолжаем писать данные в файл в обычном режиме flock ($fp,LOCK_EX); fputs($fp,"$ulinenew"); fflush ($fp); flock ($fp,LOCK_UN); fclose($fp); } }
| теория: в краце, код нулит файл строго в определённое время и в определённый день, в примере кода работал с userstat2.dat если будет необходимость могу ещё поработать над вариантами | |
|
Сообщение # 336 |
16.06.11 - 02:46:56
| |
|