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
上記では、PHP の fopen、file_get_contents、curl 関数の違いを、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。