php включить во внешний URL

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

Предупреждение.

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

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


person Phil    schedule 08.02.2012    source источник


Ответы (5)


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

person Barry Chapman    schedule 08.02.2012

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

person diolemo    schedule 08.02.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');

И вы сделали :)

person Nicholas Valbusa    schedule 08.02.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
person Wayne Nort    schedule 25.07.2012
comment
Ваш ответ идентичен @squallstars. - person Tom; 11.10.2012

Посмотрите на свой 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');
person Prashanth    schedule 17.03.2016