Технический форум > Программирование
PHP
john:
Проблема возникла...
Есть код:
--- Код: ---<?
$file = @fopen ("http://******/index.php", "r");
while (!feof($file)) {
$part = fread($file, 1024);
if (preg_match("/tratata/i", $part)) {
$link=true;
}
}
fclose($file);
if ($link=true) {
include("file.php");
}
exit;
?>
--- Конец кода ---
В общем работает так, если на странице "http://******/index.php" найдено слово (или часть слова) "tratata", то выполняется файл "file.php"
Все работает, но! Если страницы "http://******/index.php" не существует - вылетает ошибка, которой забивается весь экран.
Видимо перед этим неоходимо сделать проверку на существование самой страницы "http://******/index.php". Как?
PS. В общем задача проверить, установлен ли на определенном сайте (странице) определенный код или нет. Может есть готовое решение?
alexis031182:
--- Цитата: john ---Проблема возникла...
...
--- Конец цитаты ---
Можно попробовать так:
--- Код: ---// Преднамеренная ошибка при работе с файлами
$my_file = @file ('non_existent_file') or die ("Failed opening file: error was '$php_errormsg'");
--- Конец кода ---
Обрати внимание на знак "@" перед словом "file". Это перехват сообщений об ошибках в PHP. Ну а вместо функции die можно написать что-то своё.
john:
--- Цитата: alexis031182 ---Можно попробовать так:
--- Конец цитаты ---
Не догнал. Можешь как-то подробнее?
alexis031182:
Вот ещё вариант:
--- Код: ---if(@file_exists($filename)) print("It's OK!!!");
--- Конец кода ---
john:
--- Цитата: alexis031182 ---
--- Код: ---if(@file_exists($filename)) print("It's OK!!!");
--- Конец кода ---
--- Конец цитаты ---
неа, не работает.
Делаю:
--- Код: ---$filename = "http://qwertyqwerty.ru/index.php"; //подставляю явно несуществующую страницу
if(@file_exists($filename)) print("It's OK!!!");
--- Конец кода ---
на экране пусто. Но если подставить реально существующую страницу - тоже пусто.
Навигация
Перейти к полной версии