Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Самый простой способ определения IP-адреса юзера? [4]
ТвойWeb » WebMaster класс » PHP/Perl » Самый простой способ определения IP-адреса юзера?

Страниц (5): « 1 2 3 [4] 5 »
 

31. ETC - 19 Апреля, 2005 - 10:51:31 - перейти к сообщению
А чем мешает так и зайти: /report и всё
32. Alone - 19 Апреля, 2005 - 11:57:03 - перейти к сообщению
ETC
Сегодня прям день открытий какой-то! Улыбка
33. Alone - 20 Апреля, 2005 - 02:15:48 - перейти к сообщению
ETC
Дальше уже вопрос чисто из любопытства, но наверняка если его не сложно реализовать - то его можно применить с хорошей пользой где-нибудь (и я даже знаю где).

В общем вопрос такой:
Существует например такой файл как: report или: report.txt который время от времени пополняется. Как сделать резалку на его содержимое? Можно по объёму файла, но лучще на содержимое - например можно записывать 100 последних строчек а предыдущие бы удалялись автоматом... Ну что-то в этом духе. Можешь подсказать или привести пример как это сделать?
34. ETC - 20 Апреля, 2005 - 02:54:26 - перейти к сообщению
Alone
щас напишем... а не проще отсылать его на мыло раз в сутки и записывать новый?

(Добавление)
Вот:
PHP:

<?php
if (isset ($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$host = gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']);
}else{
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']); }

$ip=getenv('REMOTE_ADDR');
$date=date('d M Y, H:i:s');
$host1=gethostbyaddr("$ip");

$str="--Дата - $date|Хост- $host|IP-адрес- $ip\n";
if (!file_exists("report")||filesize("report")==0) {
$fp = fopen("report","w");
fwrite($fp,$str);
fclose($fp);
} else {
$fp = fopen("report","r");
$tmp = explode("\n",fread($fp,filesize("report")));
fclose($fp);
$tmp[] = $str;
$fp = fopen("report","w");
if (count($tmp)>=100) {
$ntmp = array();
$i = count($tmp)-100;
while ($i<count($tmp)) {
$ntmp[] = $tmp[$i];
$i++;
}
fwrite($fp,implode("\n",$ntmp);
} else {
fwrite($fp,implode("\n",$tmp);
}
fclose($fp;
?>

На работоспосбоность не проверял\n\n(Добавление)
$ipn - перед n должен быть обратный слеш\n\n(Добавление)
и тут: implode("n"... тоже обратный слеш нужен\n\n(Добавление)
Блин, и в explode("n"... тоже
35. Alone - 20 Апреля, 2005 - 03:33:51 - перейти к сообщению
ETC пишет:
а не проще отсылать его на мыло раз в сутки и записывать новый?

Да это просто не всегда требуется. Но иногда бывают случаи когда надо вывести какого-нить чудика из зоны видимости своего сайта... Улыбка
Опробую скриптик чуть по позже... Но он мне ещё пригодится и в других местах... Улыбка
36. TvoyWeb - 20 Апреля, 2005 - 05:06:46 - перейти к сообщению
ETC пишет:
Блин, и в explode("n"... тоже

Не пользуй пока для PHP кода тег форума PHP. Он глючит пока.
37. ETC - 20 Апреля, 2005 - 06:30:47 - перейти к сообщению
Так
CODE:
<?php
if (isset ($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$host = gethostbyaddr($_SERVER['HTTP_X_FORWARDED_FOR']);
}else{
$host = gethostbyaddr($_SERVER['REMOTE_ADDR']); }

$ip=getenv('REMOTE_ADDR');
$date=date('d M Y, H:i:s');
$host1=gethostbyaddr("$ip");

$str="--Дата - $date|Хост - $host|IP-адрес - $ip\n";
if (!file_exists("report")||filesize("report")==0) {
$fp = fopen("report","w");
fwrite($fp,$str);
fclose($fp);
} else {
$fp = fopen("report","r");
$tmp = explode("\n",fread($fp,filesize("report")));
fclose($fp);
$tmp[] = $str;
$fp = fopen("report","w");
if (count($tmp)>=100) {
$ntmp = array();
$i = count($tmp)-100;
while ($i<count($tmp)) {
$ntmp[] = $tmp[$i];
$i++;
}
fwrite($fp,implode("\n",$ntmp);
} else {
fwrite($fp,implode("\n",$tmp);
}
fclose($fp;
?>
38. Alone - 20 Апреля, 2005 - 08:49:21 - перейти к сообщению
Не-а, чего-то не работатет.
Первым делом файл /report не создаётся.
Я его сам создал - залил чистый, но всё равно в него ничего не записывается.
39. ETC - 20 Апреля, 2005 - 10:41:53 - перейти к сообщению
Alone
хм... проверю
40. Alone - 26 Апреля, 2005 - 15:22:14 - перейти к сообщению
ETC
Чё не получается... Улыбка

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.038]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33