Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
Доброго дня всем. Есть код который искал в нужном файле IP адреса и при нахождении отображал что он занят, в случае не нахождения писал что адрес свободен. Так вот с недавних пор код изменился и теперь в файле с адресами нет пробелов, поиск соответственно перестал работаь. В PHP не силён, но понимаю что нужно условия поиска поменять.
" 10.0.0.1 " - так искал (где кавычки любой код)
"10.0.0.1" - так нет (где кавычки любой код)
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017 Откуда: Германия, Бавария
Помог: 37 раз(а)
thefreedom пишет:
Доброго дня всем. Есть код который искал в нужном файле IP адреса и при нахождении отображал что он занят, в случае не нахождения писал что адрес свободен. Так вот с недавних пор код изменился и теперь в файле с адресами нет пробелов, поиск соответственно перестал работаь. В PHP не силён, но понимаю что нужно условия поиска поменять.
" 10.0.0.1 " - так искал (где кавычки любой код)
"10.0.0.1" - так нет (где кавычки любой код)
Добрый день!
Попробуйте убрать function vfcat и применить file_get_contents,
заменить function find_word и переделать поиск:
Покинул форум
Сообщений всего: 55
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
Он выдал: 10.0.1.255 - Занят, а такого адреса вообще нет нигде, и всё дальше вообще пусто (
Я думал нужно поменять на preg_split("/\n/", $line), но так тоже не работает.
Vladimir Kheifets
Отправлено: 04 Марта, 2021 - 13:38:02
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017 Откуда: Германия, Бавария
Помог: 37 раз(а)
thefreedom пишет:
Он выдал: 10.0.1.255 - Занят, а такого адреса вообще нет нигде, и всё дальше вообще пусто (
Я думал нужно поменять на preg_split("/\n/", $line), но так тоже не работает.
Читайте $data = file_get_contents("base.html"), preg_split не нужно использовать.
Проверяйте $data
Если не получится, покажите,пожалуйста, что у Вас в $data
Строитель
Отправлено: 04 Марта, 2021 - 14:02:08
Участник
Покинул форум
Сообщений всего: 1580
Дата рег-ции: Февр. 2014 Откуда: Украина
Помог: 73 раз(а)
Vladimir Kheifets пишет:
покажите, пожалуйста, что у Вас в $data
С этого сразу надо было начать
Vladimir Kheifets
Отправлено: 04 Марта, 2021 - 14:44:08
Частый посетитель
Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017 Откуда: Германия, Бавария
Помог: 37 раз(а)
Строитель пишет:
Vladimir Kheifets пишет:
покажите, пожалуйста, что у Вас в $data
С этого сразу надо было начать
Согласен. Если надеяться на лучшее и файл удасться прочить, то можно из кода убрать циклы для перебора адресов и оставить только:[PHP]$data = file_get_contents("base.html")
$pattern="/(10\.0\.)([0-2]\.)([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/";
$found = preg_match($pattern, $data );
Жаль, что от preg_split Вы не хотите отказаться. А вдруг опять структура файла изменится - будет что-то другое вместо <a9>?
Если Вы обязательно хотите выбрать все IP адреса из $data в массив то сделайте так:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.