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 последних строчек а предыдущие бы удалялись автоматом... Ну что-то в этом духе. Можешь подсказать или привести пример как это сделать?
Дальше уже вопрос чисто из любопытства, но наверняка если его не сложно реализовать - то его можно применить с хорошей пользой где-нибудь (и я даже знаю где).
В общем вопрос такой:
Существует например такой файл как: report или: report.txt который время от времени пополняется. Как сделать резалку на его содержимое? Можно по объёму файла, но лучще на содержимое - например можно записывать 100 последних строчек а предыдущие бы удалялись автоматом... Ну что-то в этом духе. Можешь подсказать или привести пример как это сделать?
34. ETC - 20 Апреля, 2005 - 02:54:26 - перейти к сообщению
Alone
щас напишем... а не проще отсылать его на мыло раз в сутки и записывать новый?
(Добавление)
Вот:
На работоспосбоность не проверял\n\n(Добавление)
$ipn - перед n должен быть обратный слеш\n\n(Добавление)
и тут: implode("n"... тоже обратный слеш нужен\n\n(Добавление)
Блин, и в explode("n"... тоже
щас напишем... а не проще отсылать его на мыло раз в сутки и записывать новый?
(Добавление)
Вот:
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;
?>
<?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;
?>
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 не создаётся.
Я его сам создал - залил чистый, но всё равно в него ничего не записывается.
Первым делом файл /report не создаётся.
Я его сам создал - залил чистый, но всё равно в него ничего не записывается.
39. ETC - 20 Апреля, 2005 - 10:41:53 - перейти к сообщению
Alone
хм... проверю
хм... проверю
40. Alone - 26 Апреля, 2005 - 15:22:14 - перейти к сообщению
ETC
Чё не получается...
Чё не получается...