ホームページ >バックエンド開発 >PHPチュートリアル >PHP の fopen、file_get_contents、curl 関数の違い

PHP の fopen、file_get_contents、curl 関数の違い

WBOY
WBOYオリジナル
2016-06-13 12:28:28910ブラウズ

PHP の fopen、file_get_contents、curl 関数の違い

1. fopen /file_get_contents はリクエストごとに DNS クエリを再実行し、DNS 情報をキャッシュしません。ただし、CURL は DNS 情報を自動的にキャッシュします。同じドメイン名の Web ページまたは画像に対するリクエストには、DNS クエリが 1 つだけ必要です。これにより、DNS クエリの数が大幅に削減されます。したがって、CURL のパフォーマンスは fopen /file_get_contents よりもはるかに優れています。

2.fopen /file_get_contents HTTP をリクエストする場合、http_fopen_wrapper が使用され、キープライブしません。しかしカールならできる。このようにして、複数のリンクを複数回リクエストする場合、curl はより効率的になります。

3.fopen / file_get_contents 関数は、php.ini ファイルのallow_url_open オプション設定の影響を受けます。設定がオフになっている場合、この機能は無効になります。 Curl はこの設定の影響を受けません。

4.curl は、POST データ、フォーム送信など、さまざまなリクエストをシミュレートできます。ユーザーは、独自のニーズに応じてリクエストをカスタマイズできます。また、fopen/file_get_contents は get メソッドのみを使用してデータを取得できます。
file_get_contents はリモート ファイルを取得するときに結果を文字列に格納し、fields 関数は結果を配列形式で格納します

一般的には

file_get_contentsの処理が頻繁で少ない場合に使うと良い感じです。何も珍しいことはありません。あなたのファイルが 1,000 人によって処理された場合。その後、サーバーの CPU は増加を待っています。したがって、今後 PHP コードを作成する際には、curl ライブラリを使用することをお勧めします。

元のアドレス: http://www.jb51.net/article/57238.htm

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