Как в PHP загрузить HTML-страницу со стороннего сервера?

oberset
21.09.2019

Для загрузки HTML-страницы со стороннего сервера можно воспользоваться стандартными функциями для работы с файлами. В PHP для этой цели проще всего использовать функцию file_get_contents, только вместо локального пути к файлу, передать ей URL загружаемой страницы. <?php // Загружаем страницу с удаленного хоста $content = file_get_contents("http://www.mysite.ru/mypage.html"); ?> В результате вызова функции file_get_contents в переменную $content запишется содержимое страницы mypage.html в виде строки.

Такой же результат можно получить с помощью более низкоуровневой PHP-функции fopen: <?php // Получаем дескриптор удаленной страницы $fd = fopen("http://www.mysite.ru/mypage.html", "r"); if(!$fd) exit("Запрашиваемая страница не найдена"); $content = ""; // Чтение содержимого файла в переменную $content while (!feof ($fd)) { $content .= fgets($fd, 1024); } // Закрыть открытый указатель файла fclose ($fd); ?> В отличие от первого примера с использованием file_get_contents(), функция fopen не возвращает сами данные, а только открывает соединение с удаленным хостом. Для чтения данных используется функция fgets, которая в цикле считывает данные построчно, пока не дойдет до конца содержимого файла.

Полное описание функции file_get_contents(): file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen ]]]] ) : string

Описание параметров

filename Путь к файлу на локальном компьютере или URL удаленного хоста.
use_include_path Использовать путь по умолчанию из настроек PHP.
context Ссылка на контекст, созданный функцией.stream_context_create()
offset Смещение от начала файла, начиная с которого функция возвращает содержимое. Если указать отрицательное число, то смещение отсчитывается от конца файла.
maxlen Максимальная длина возвращаемых данных, если не указана, то возвращается все содержимое.

Пример вместе с функцией stream_context_create(): <?php // Открываем поток $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Accept-language: en\r\n" . "Cookie: foo=bar\r\n" ) ); $context = stream_context_create($opts); // Отправляем запрос и считываем содержимое страницы, используя установленные http метод и заголовки $file = file_get_contents('http://www.example.com/', false, $context); ?>

Базовые сведения о языке программирования PHP

PHP - распространённый интерпретируемый серверный язык программирования. Чаще всего его применяют для написания серверной части веб-сайтов.

Рефлексия в Javascript: примеры использования объекта Proxy

С помощью объекта Proxy у разработчиков появилась возможность получить контроль над некоторыми внутренними операциями, которые ранее были скрыты "под капотом" движка javascript.

ScanFS — альтернативный инструмент поиска файлов и папок для Windows

ScanFs — продвинутая утилита, предназначенная для быстрого поиска файлов и папок на диске с применением различных фильтров.

Поиск и проверка значений в массиве на Javascript

Примеры поиска значений в массиве с помощью методов find, findIndex, includes, every и других.

Комментарии (0)

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять оценки и комментарии.