ホームページ  >  記事  >  バックエンド開発  >  file_get_contents関数が使えない問題の解決策_PHPチュートリアル

file_get_contents関数が使えない問題の解決策_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:36:36990ブラウズ

一部のホスティング サービス プロバイダーは PHP のallow_url_fopen オプションをオフにしています。これは、file_get_contents を直接使用してリモート Web ページのコンテンツを取得できないことを意味します。つまり、別の関数curlを使用できます。

以下は、file_get_contents とcurl の 2 つの関数の同じ関数を別の方法で記述したものです

file_get_contents関数の使用例:

< ?php
$file_contents = file_get_contents(http://www.ccvita.com/);
echo $file_contents;
?>

代わりにcurl関数を使用する例:

< ?php
$ch =curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, http://www.ccvita.com);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents =curl_exec($ch);
curl_close($ch);

echo $file_contents;

?>
function_exists 関数を使用して、php が関数をサポートしているかどうかを判断すると、次の関数を簡単に作成できます

< ?php

function vita_get_url_content($url) {
if(function_exists(file_get_contents)) {
$file_contents = file_get_contents($url);
} else {
$ch =curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents =curl_exec($ch);
curl_close($ch) );
}
return $file_contents;
}
?>
実際、ホスティング サービス プロバイダーが file_get_contents とcurl の両方をオフにしている場合、上記の関数はエラーを引き起こします。

http://www.bkjia.com/PHPjc/508221.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508221.html技術記事一部のホスティング サービス プロバイダーは PHP のallow_url_fopen オプションをオフにしているため、file_get_contents を直接使用してリモート Web ページのコンテンツを取得できません。それは、別の関数を使用することです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。