PHP включает в себя внешний URL - PullRequest
4 голосов
/ 08 февраля 2012

В настоящее время я пытаюсь использовать функцию php include для включения внешнего URL.Это так, что всякий раз, когда веб-страница обновляется, она автоматически обновляет мою.Однако проблема, с которой я сталкиваюсь, заключается в том, что я получаю сообщение об ошибке, в котором говорится следующее ...

Предупреждение: require () [function.require]: http: // обертка отключена в конфигурации сервера с помощью allow_url_include= 0 в C: \ wamp \ www \ starterpack \ starterpack2 \ header.php в строке 48

Я пытался найти способ исправить эту ошибку или найти способ обойти ее, но не могу ее найти.У кого-нибудь есть какие-либо идеи?

PS Я создаю сайт с помощью wampserver, могут ли права доступа к wampserver вызывать эту ошибку?

Ответы [ 5 ]

8 голосов
/ 08 февраля 2012

Лучше использовать echo file_get_contents($url), так как оператор включения может выполнить любой код PHP, возвращенный другим сайтом.

7 голосов
/ 08 февраля 2012

Посмотрите на свой php.ini и убедитесь, что allow_url_include имеет значение 1. Перезапустите HTTPD, готово.

4 голосов
/ 08 февраля 2012
function getter($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

echo getter('http://yourdomain.com/externalfile.php');

И все готово:)

0 голосов
/ 17 марта 2016

Посмотрите на ваш php.ini и убедитесь, что allow_url_include имеет значение 1

В противном случае используйте следующее ...

function getter($url) 
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
return $data;}
echo getter('http://yourdomain.com/externalfile.php');
0 голосов
/ 25 июля 2012

Это загрузит внешний веб-сайт, а также даст внешним ссылкам абсолютный адрес веб-сайта

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.your_external_website.com");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
$result = preg_replace("#(<\s*a\s+[^>]*href\s*=\s*[\"'])(?!http)([^\"'>]+)([\"'>]+)#",'$1http://www.your_external_website.com/$2$3', $result);
echo $result
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...