PDA

Просмотр полной версии : Счётчик на php !!!!


ZERAM
15.11.2005, 16:23
ДА... много времени прошло с того момента как я написал первый достойный модуль на php. и почти 2 года к php не подходил. а сейчас без него никуда не деться. убодная среда разработки что тут скажешь.
так вот я чёто мужу.

клиент грузит старницу при этом выполняется функция.
которая определяет его ip адрес, открывает файл например текстовый
и ищет этот ip там. если его нет то записываем новый ip в конец файла (это значит что ПОСЕТИТЕЛЬ новый). считаем его в count и пишем либо в index.php либо в отдельный файл(это будет такой счётчик)

=))) было ведь. и работало замечательно.
а щас немогу вспомнить функции.

вот вто родил. но както с ошибками работает:
как ip определять тоже непомню, вроде ip_remote

<?
$count = 1;
$file = fopen ("file.txt","r");
$buff = "2222";


while ($data = fgetcsv($file, 1000))
{
$num = count ($data);
$count++;
for ($i=0; $i < $num; $i++)
{


if ($data[$i]==$buff)
{
print "$data[$i]<br>";
}

if ($data[$i]<>$buff)
{
$file = fopen ("file.txt","a");
fputs ( $file, $buff);
fclose ( $file );
}
}
}

?>


хотя раньше помню этот код занимал 20 строк максимум. =)

ZERAM
15.11.2005, 21:07
Подскажите почему ошибки лезут???
как правильнее это сделать?


p.s.
я непомню кому спавочник свой подарил, по функциям.

Буньков Максим
15.11.2005, 21:34
В инете функции поищи да и не парься..

Gaen
18.11.2005, 19:48
Насколько я помню, ip хранится в $_SERVER[REMOTE_ADDR]

Gaen
18.11.2005, 19:55
Кстати, о поиске по файлу... я себе это так представляю: каждый ip на новой строке в формате

IP[пробел]count

Тогда

$f=file("file.txt");

$flag=0;

foreach($f as $str){

$s=explode($str, "[пробел]");

if($s[0]==$ip){
//ну я уж не буду в подробности вдаваться...
$flag=1;
}

if($flag)break; //Можно обойтись без этого, но так не будут выполняться лишние циклы

}

if(!$flag){
//добавление новой строки в файл
}