|
|
|
| Написал небольшой скрипт для логирования браузеров посетителей. Проблема с функцией in_array. Она почему то не возвращает true если элемент уже имеется в массиве.
Вот сам скрипт:
<?php
$agent=$_SERVER['HTTP_USER_AGENT'];
list($agent)=explode('/', $agent);
list($agent)=explode(' ', $agent);
list($agent)=explode('-', $agent);
echo $agent;
$log=file('files/agent.log');
print_r($log);
echo 'count:'.count($log);
$agent=trim($agent);
$a=in_array($agent, $log);
if($a===TRUE) echo 'yes';
else echo 'no';
//всегда no
if(!$a)
{
$log=fopen('files/agent.log','a');
fwrite($log,$agent."n",1024);
fclose($log);
}
?>
|
| |
|
|
|
|
|
|
|
для: User
(06.05.2007 в 12:09)
| | Замените
$log=file('files/agent.log');
на
$log = array_map("rtrim", file("files/agent.log")); | |
|
|
|
|
|
|
|
для: Unkind
(06.05.2007 в 13:03)
| | Спасибо. Заработало | |
|
|
|