Допустим, у меня есть большой файл. Файл представляет собой список IP-адресов, каждый в новой строке, например:
123.123.123.123
123.123.123.124
123.123.123.125
etc...
Я мог бы сделать это так:
$file = file_get_contents($src);
if (substr_count($file,'myip'))
echo 'FOUND';
Или аналогичным способом со стилем массива:
$file = file($src,FILE_IGNORE_NEW_LINES);
if (in_array('myip',$file))
echo 'FOUND';
Но я думаю, есть третий вариант, который может быть быстрее.
Разбор файла построчно и, конечно, остановка чтения, если строка найдена.
Примерно так:
$file = fopen($src,'r');
while(!feof($file)) {
$ip = fgets($file);
if ($ip == $myIP) {
die('Found');
}
}
fclose($file);
У меня такой вопрос: как вы думаете, есть другой лучший способ?
А с точки зрения производительности, какой код, по вашему мнению, быстрее?
Большое спасибо, ребята