Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Проверка по IP из текстового файла (https://javascript.ru/forum/server/69352-proverka-po-ip-iz-tekstovogo-fajjla.html)

Sonya 16.06.2017 14:41

Проверка по IP из текстового файла
 
Здравствуйте! Подскажите, пожалуйста, почему так скрипт:
$ip = $_SERVER['REMOTE_ADDR'];
$ban = array('333.333.333.333','68.225.34.86');
$count = count($ban);
for ($i=0; $i<$count; $i++) {
if($ip == $ban[$i]) { die("I'm sorry, you've been banned. $ip"); }
}

работает, а так
$ip = $_SERVER['REMOTE_ADDR'];
$ban = array(file_get_contents('ban.txt'));
$count = count($ban);
for ($i=0; $i<$count; $i++) {
if($ip == $ban[$i]) { die("I'm sorry, you've been banned. $ip"); }
}
, где содержание ban.txt: '333.333.333.333','68.225.34.86' - нет?

laimas 16.06.2017 14:50

Потому, что array(file_get_contents('ban.txt')); это глупость.

Если в ban.txt записи как
IP
IP
...

то

if(in_array($_SERVER['REMOTE_ADDR'], file('ban.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES))) ... ban

Sonya 16.06.2017 14:59

А если записан строкой IP IP IP...?

Sonya 16.06.2017 15:17

Спасибо, разобралась.

laimas 16.06.2017 15:21

Цитата:

Сообщение от Sonya
А если записан строкой

explode(разделитель) - возвращает массив.

Sonya 16.06.2017 15:36

Ещё раз спасибо!


Часовой пояс GMT +3, время: 01:54.