Я новичок в PHP, и у меня аналогичная проблема, к тому, что обрабатывается:Обработка ошибок в simple_html_dom.php
Good error handling with file_get_contents
В simple_html_dom.php, есть функция называется load_file, что:
function load_file() {
$args = func_get_args();
$this->load(call_user_func_array('file_get_contents', $args), true);
}
В моем PHP скрипт, я использую эту функцию:
$ html-> load_file ($ ссылка);
При попытке загрузить неработающую ссылку, я получаю предупреждение о моем выходе дисплея, как:
Warning: file_get_contents (http://www.yurowdesigns.com/UkraineSIG/test.asp) [function.file-получить содержание]: не удалось открыть поток: HTTP запрос не выполнен! HTTP/1.1 404 Не найдено в /home/yurow/wwwroot/yurowdesigns.com/programs/simple_html_dom.php в строке 568
Я хотел бы перенаправить это и подобные сообщения об ошибке в файл error.log на моем а не на моем выходе.
я наивно пытался адаптировать ответ, данный в
Good error handling with file_get_contents
к моей проблеме, добавив функциональные fget_contents() в моей копии simple_html_dom.php.
function fget_contents() {
$args = func_get_args();
// the @ can be removed if you lower error_reporting level
$contents = @call_user_func_array('file_get_contents', $args);
if ($contents === false) {
throw new Exception('Failed to open ' . $file);
} else {
return $contents;
}
}
И изменяемая строка 568 в load_file следующим образом:
$ this-> нагрузки (call_user_func_array ('fget_contents', $ арг), правда);
Но теперь, когда я бегу мой PHP скрипт, я получаю новое сообщение об ошибке:
Предупреждение: call_user_func_array() ожидает параметр 1, чтобы быть действительным обратного вызова, функция «fget_contents» не найден или недопустимое имя функции в /home/yurow/wwwroot/yurowdesigns.com/programs/simple_html_dom.php на линии 568
это означает, что simple_html_dom.php не признает функцию «fget_contents»
Где я ошибся? Как я могу это исправить?
Индранил: Пожалуйста, см. Мой ответ на Гаурава Вашиштху. – user1107199