ホームページ  >  記事  >  バックエンド開発  >  file_get_contents がブロックされている場合の解決策_PHP チュートリアル

file_get_contents がブロックされている場合の解決策_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:57:221417ブラウズ

php では、file_get_contents 関数はリモート サーバーのコンテンツを直接収集し、それを変数に保存できます。メディエーターは通常、DDOS であることを恐れるため、file_get_contents や fsockopen などの一部の IO 操作関数を無効にします。一般に、サーバーの inc.php を変更することはできません。上記の PHP 関数を置き換える一連の IO を自分で作成することしかできません。

コードは次のとおりですコードをコピー

$url = file_get_contents('http://www.bKjia.c0m/');

代わりに次のコードを使用できます

コードは次のとおりですコードをコピーfunction_exists 関数を使用して、PHP が関数をサポートしているかどうかを判断すると、次の関数を簡単に作成できます
//file_get_contents を無効にする解決策

$ch =curl_init(); $timeout = 10 // タイムアウトなしの場合は 0 に設定します
; curl_setopt ($ch, CURLOPT_URL,'http://www.hzhuti.com/'); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch、CURLOPT_CONNECTTIMEOUT、$timeout); $url =curl_exec($ch);




Curl は、URL 構文を使用してファイルやデータを転送するツールです。HTTP、FTP、TELNET などの多くのプロトコルをサポートしています。サーバーによって無効にされないため、URL を開くための file_get_contents をシミュレートするために使用できます。 。


コードは次のとおりです

コードをコピー 関数 vita_get_url_content($url) { if(function_exists('file_get_contents')) { $file_contents = ファイル_get_contents($url); } その他 { $ch =curl_init(); $タイムアウト = 5; curl_setopt ($ch、CURLOPT_URL、$url); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch、CURLOPT_CONNECTTIMEOUT、$timeout); $file_contents =curl_exec($ch); カール_クローズ($ch); }tru​​e
$file_contents を返す
}
?>









http://www.bkjia.com/PHPjc/632091.html

www.bkjia.com
http://www.bkjia.com/PHPjc/632091.html技術記事 php では、file_get_contents 関数はリモート サーバーのコンテンツを直接収集し、それを変数に保存できます。メディエーターは通常、file_get_contents や fsockopen などの IO 操作関数を使用します...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。