Технический форум > Программирование

PHP

(1/5) > >>

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!!!");
--- Конец кода ---

на экране пусто. Но если подставить реально существующую страницу - тоже пусто.

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии