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

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

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

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 19.04.2024 - 23:12:15
Страницы:  1 ... 26  27  28  29  30  ... 49

Форум 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
подписка на тему :Предыдущая темаСледующая тема: качаем форум со статистикой
Страницы:  1 ... 26  27  28  29  30  ... 49

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

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

Смайлы:

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