| |
|
|
| | <?php
$log_file="counter.log";
$f=fopen($log_file,"a+");
$ip=getenv("REMOTE_ADDR"); // определяет айпи
fputs($f,"$ip\n");
fclose($f);
?>
Не ругайтесь, я только начал изучать пхп, так и не нашел примера в поиске.... Вот это добавляет айпи в counter.log строку в конце. Как сделать, чтобы не в вниз добавлял, а в первую строку | |
| |
|
|
| |
|
|
| |
для: Anton
(27.03.2007 в 23:47)
| | |
<?php
$log_file="counter.log";
$file = file($log_file);
$ip=getenv("REMOTE_ADDR"); // определяет айпи
for($i=0;$i<count($file);$i++)
{
$ip .= $file."\n";
}
$f = fopen($log_file, "w");
fputs($f, $ip);
fclose($f);
?>
|
Попробуйте это... Но это довольно большой скрипт... теоретически можно просто открыть файл, кк вы сразу, засунуть его в переменную (всмысле данные из файла), а потом к перемоной с вашим АйПи прибавить переменную этого файла ($gogi = $ip.$file); И выглядеть это будет примерно так:
<?php
$log_file="counter.log";
$file = fopen($log_file, "r");
$ip=getenv("REMOTE_ADDR"); // определяет айпи
$ip .= $file."\n";
$f = fopen($log_file, "w");
fputs($f, $ip);
fclose($f);
?>
|
Но точно не уверен, что будет работать... | |
| |
|
|
| |
|
|
| |
для: DEM
(27.03.2007 в 23:49)
| | | Спасибо DEM за ответ... но они не работают
В первом случае в counter.log написал 200.40.80.80 Array
Во втором случае 200.40.80.80 Resource id #4 | |
| |
|
|
| |
|
|
| |
для: Anton
(27.03.2007 в 23:47)
| | | читать полностью в строку, добавить запись в начало строки и затем эту строку записать в файл | |
| |
|
|
| |
|
|
| |
для: Anton
(27.03.2007 в 23:47)
| | | Поаробуйте вот так...
<?php
$log_file="counter.log";
$file=getenv("REMOTE_ADDR")."\r\n".file_get_contents($log_file);
$f=fopen($log_file,"w");
fputs($f,$file);
fclose($f);
?>
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(28.03.2007 в 09:33)
| | | Спасибо! Зароботал | |
| |
|
|
| |
|
|
| |
для: Anton
(28.03.2007 в 10:05)
| | | Дальше... Как туда переменную $time=date('H:i:s, d.m'); туда засунуть?
<?php
$log_file="counter.log";
$file=getenv("REMOTE_ADDR")."\r\n".file_get_contents($log_file);
$time=date('H:i:s, d.m')."\r\n".file_get_contents($log_file); // так что ли?
$f=fopen($log_file,"w");
fputs($f,$file); // а здесь? может fputs($f,"$time#$file");
fclose($f);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Anton
(28.03.2007 в 12:28)
| | | покажите структуру файла логов... | |
| |
|
|
| |
|
|
| |
для: KPETuH
(28.03.2007 в 13:15)
| | | вот это работает
<?php
$log_file="counter.log";
$ip=getenv("REMOTE_ADDR")."\r\n".file_get_contents($log_file);
$f=fopen($log_file,"w");
fputs($f,$ip);
fclose($f);
?>
|
я просто хочу туда добавить еще несколько переменных, а именно
$time=date('H:i:s, d.m');
$ag=getenv("HTTP_USER_AGENT");
$from=getenv("HTTP_REFERER");
$host=getenv("REQUEST_URI");
|
Вопрос: как тогда будет fputs($f,
fputs($f,"$time###$ip###$ag###$from###$host\n") ? // какая то неразбириха получается в лог файле так...
или
...
$array=array($ip,$time,$ag,$from,$host);
$f=fopen($log_file,"w");
fputs($f,$array); //тоже не получается | |
| |
|
|
| |
|
|
| |
для: Anton
(28.03.2007 в 15:20)
| | | Для начала определите, какой именно Вы хотели бы видеть строку в логе. | |
| |
|
|
| |
|
|
| |
для: Trianon
(28.03.2007 в 16:09)
| | | ну пусть будет строка примерно так:
время||айпи||HTTP_USER_AGENT||HTTP_REFERER||REQUEST_URI
И еще, можно добавить такие строчки типа if ($ip=="666.66.66.66") $ip="Это я";
if ($ip=="777.77.77.77") $ip="Анна"; | |
| |
|
|
| |
|
|
| |
для: Anton
(28.03.2007 в 16:46)
| | | Я так понимаю, что если заменить решетки ### в Вашем примере на символ | , и добавить предложенные if, то всё примерно так и будет.
Вызов str_replace смотрелся бы изящнее, но работать будет в любом случае. С if - даже надежней. | |
| |
|
|
| |
|
|
| |
для: Anton
(28.03.2007 в 15:20)
| | |
<?php
$log_file="counter.log";
$ip=getenv("HTTP_USER_AGENT")."||".getenv("REMOTE_ADDR")."||".getenv("HTTP_USER_AGENT")."||".getenv("HTTP_REFERER")."||".getenv("REQUEST_URI")."\r\n".file_get_contents($log_file);
$f=fopen($log_file,"w");
fputs($f,$ip);
fclose($f);
?>
|
Естественно переменная записывается в одну строчку | |
| |
|
|
| |
|
|
| |
для: KPETuH
(28.03.2007 в 17:06)
| | | Большое спасибо KPETuH, Trianon !
А теперь как из лога на скрытую страницу вывести, допустим 7 послед посетивших?
ну скелет думаю так?
<?php
$f=fopen("../counter.log","r");
flock($f,LOCK_EX);
$count=fread($f,4096);
flock($f,LOCK_UN);
fclose($f);
echo "$count\n"; ?>
|
| |
| |
|
|
| |
|
|
| |
для: Anton
(28.03.2007 в 20:48)
| | |
<?php
$f=file('../counter.log');
for ($i=0;$i=6;$i++)
{
echo $f[$i];
}
?>
|
| |
| |
|
|
| |
|
|
| |
для: KPETuH
(29.03.2007 в 05:09)
| | | > for ($i=0;$i=6;$i++)
Боюсь, так оно выведет весь список, а потом отвалится по превышению времени исполнения скрипта :) | |
| |
|
|
| |
|
|
| |
для: Trianon
(29.03.2007 в 09:38)
| | | как сделать чтоб каждый i-й элемент $f в новой строке было
for ($i=1; $i<=100; $i++){
echo $f[$i]; }
|
\n не помогает | |
| |
|
|