выбор последней стаки

cereza

Новичок
выбор последней стаки

друзья помагите,
у нас есть файл file.txt к примеру
при помощи масива я выташил из него все строки(ip)
как мне выбрать последнюю строку для сравнения?
 

Фанат

oncle terrible
Команда форума
ну, нппример, получить количество строк в массиве, отнять от него единицу и обратиться к элементу массива с таким индексом
 

cereza

Новичок
Автор оригинала: Фанат
ну, нппример, получить количество строк в массиве, отнять от него единицу и обратиться к элементу массива с таким индексом
кол-во строк я делал через for так как количество меняется всё время
 

Фанат

oncle terrible
Команда форума
в пхп есть функция, которая показывает количество строк в массиве. сама. без for
 

cereza

Новичок
правельно ли я зделал

$is=$REMOTE_ADDR;
$file = file("file.txt");
$s= array_pop($file);

if($s == $is){

$f=fopen("file.txt","a");
fwrite($f,$is."\n");
fclose($f);
echo 'ok';
}else "not";

цель если такойже ip есть в базе то not если нету то ok
 

asm

Пофигист
cereza
Если наличие строке в базе === равенству последней стоки то верно!!!
 

OZ

Новичок
синтаксис скрипта неправильный (else "not"), и алгоритм непонятен. он будет добавлять в список один и тот же IP постоянно, причём тот, который задан в файле изначально.
 

cereza

Новичок
$is=$REMOTE_ADDR;
$file = file("file.txt");
$s= array_pop($file);

if($s == $is){

$f=fopen("file.txt","a");
fwrite($f,$is."\n");
fclose($f);
echo 'ok';
}else echo "not";

почему не работает...плиз помагите
 

cereza

Новичок
я хочу зделать чтобы брался послдений ip из списка сверялся с тем который у пользователя и если такого нет то записывался в этот же файл
 

hermit_refined

Отшельник
1. тогда почему сравниваете только с последним?..
2. считаете ли их на ходу, или обсчитываете потом?..
3. пишите этот скрипт в учебных целях?..
 

cereza

Новичок
1.Чтобы не было заметной накрутки
2. желательно на ходу
3.Я в учебных(ознакомительных) целях!
 

hermit_refined

Отшельник
если отметать бд, то... ваша оптимизация крайне сомнительна, а таких приближений лучше не допускать.

почему бы вам просто не добавлять ip - вне зависимости от того, есть он или нет, а при подсчете - учитывать только уникальные строки?
если же действительно хотите знать, присутствует ли он уже - хоть [m]array_search[/m] или [m]file_get_contents[/m] + [m]strpos[/m].

не забывайте также о [m]flock[/m] и PHP FAQ: register_globals.

P.S. что же до вашего кода - условие в if не соответствует вашим желаниям.
 

Freak

Новичок
Если весь файл с ip считан в массив то почему бы array_search() не воспользоваться?
 
Сверху