0

cron ジョブを使用してユーザーのツイートなどを取得し、テキスト ファイルに保存しています。ユーザーがサイトにアクセスしたときに、これらのコンテンツを表示する必要があります。次のうちどれが良いですか?

  • Curl または file_get_contents()

私はこれについて多くのことを調査し、curl が FGC よりも優れていることを発見しました。ただし、それらはすべて外部ドメイン用です。必要なのは、同じドメインの答えです。

また、これを行うためのより良い方法を提案できますか? テキストファイルとして保存してユーザーに提示するよりも?このようなコンテンツ用に追加の DB テーブルを作成すると、より効果的でしょうか?

4

3 に答える 3

0

ファイルシステム内のファイルの内容を取得するには、常に file_get_contents() を使用してください。ファイルがファイルシステムにある場合は、そこで読み取ることができるため、HTTP リクエストを行う必要はありません。

たとえば、ツイートをファイル /my-tweets/user124.txt に保存した場合、それを読み取ることができます。

$tweets=file_get_contents('/my-tweets/user124.txt');

HTTP リクエストを行わず、PHP の allow_url_fopen 設定についても心配する必要がないため、cURL よりも高速です。

また、fopen() と file_get_contents() に関しては、つぶやきファイルを何行も読みたい場合を除いて、後者の方がコードの可読性に優れています (その場合は fopen() の方が適しています)。

于 2012-04-10T10:30:36.033 に答える
0

生成された txt ファイルは Web ページと同じサーバー上にあるため、cURL で取得する必要はありません。ファイル システム (FGC または fopen) から直接読み取るだけです。

2 番目の質問については、場合によって異なります。そのファイルの内容を必要とするユーザーが 1 人だけの場合は、それを txt ファイルに保存しても問題ありません (大量のユーザーがなく、I/O のボトルネックにぶつからない限り)。それらをDBに保存することも問題ありません。私が言ったように、「それは依存します」。現在の解決策が機能する場合は、それに固執してください。

于 2012-04-10T10:15:50.200 に答える
0

file_get_contents(); サーバーに既に存在する場合は、curl を使用する必要はありません。

于 2012-04-10T10:18:58.273 に答える