7

私は自分のプロジェクトのSEOシステムに取り組んでおり、すべてのリンクを1つのページで最適化しています。

.htaccessファイルからの抜粋:

RewriteRule ^(.+)$ seo.php [L,QSA]

このSEOファイル(seo.php)は、要求されたパスを取得し、それを解析して、スクリプトへの有効なURLとして使用します。

私はinclude('cat.php?catid=1')最後に使用していてseo.php、すべてが正常に機能していますが、どちらが速いのだろうか:include()またはfile_get_contents()

を使用するfile_get_content('cat.php?catid=1')と、PHPファイルのソースが表示されますが、を使用するfile_get_content('http://localhost/cat.php?catid=1')と、通常のページが表示されます。

だから、どちらが速いですか:file_get_content()またはinclude()

4

4 に答える 4

15

もちろん違います

  • インクルードはその中のPHPコードを解析します
  • file_get_contentsはコンテンツのみを返します

したがって、yuoがページのhtmlコンテンツを取得したい場合は、file_get_contentsPHPコードを解析する必要がある場合は使用します。include();

注意:Webサイトでホストされているページのコンテンツを取得する場合は、リソースへのWebパスではなく、ローカルパスを使用する必要があります。

  • 行う:file_get_contents('/home/user/site/file.html');
  • しない:file_get_contents('http://example.com/file.html');
于 2012-05-02T19:16:51.250 に答える
2

テンプレートの一部として独自のローカルファイルをロードする場合は、、requireまたはのいずれかを使用しますinclude。もちろん、require_onceまたはを使用することはできますが、ローカルファイルにinclude_onceは使用しないでください。file_get_contents

これはパフォーマンスとは何の関係もありません、それは目的についてです。file_get_contentsテンプレートの依存関係を動的にロードするために存在しません。表示する前にコンテンツを解析する必要がある場合、または他のドメインにある場合を除いて、そうではありません。

于 2012-05-02T19:17:17.680 に答える
0
  1. これは無意味な質問です。それらの両方は十分に速い。どこからともなく質問で自分を悩ます必要はありません。
  2. include('cat.php?catid = 1'); 動作しません
  3. HTTPリクエストを介して独自のコードを呼び出すのは間違っています。

したがって、コードは次のようになります

include('cat.php');
于 2012-05-02T19:54:57.080 に答える
-5

訂正:ローカルパスを使用することはできませんfile_get_contents

file_get_contents('/home/user/site/file.html');  <-- will never work.

file_get_contents('http://site.com/file.html');  <-- this should work.
于 2012-08-16T22:16:26.503 に答える