2012-05-02 18 views
4

私は自分のプロジェクトのSEOシステムに取り組んでおり、すべてのリンクを1ページで最適化しています。 .htaccessファイルからもっと速いのは:include()かfile_get_contents()?

抜粋:

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

このSEOファイル(seo.php)が要求されたパスを取得し、私のスクリプトに有効なURLであるためにそれを解析します。

私はseo.phpの終わりにinclude('cat.php?catid=1')を使用していますが、すべてが正常に動作しているが、私は速くなるだろう: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()

+0

'含める( '?cat.php CATID = 1')' shouldn PHPはローカルのファイルシステム操作として、http要求を使用しないことを知っているので、まったく動作しません。あなたは実際にローカルファイル名 'cat.php?catid = 1'を持っていますか?ローカルファイルシステムオプションはクエリ文字列を使用しません。 –

+0

'include'は8ミリ秒ほど速く動作します。しかし、私は3回しかテストしませんでした(開かれたページ) – user2118559

答えて

10

彼らは異なる

  • がyuoがちょうどページの使用のHTMLコンテンツをretriveしたい場合は
  • のfile_get_contentsはだからコンテンツ

を返します。その中にPHPコードを解析しますインクルードのコースですfile_get_contents PHPコードを解析する必要がある場合は、include();

注意:あなたは、あなたは、リソースへのローカルパスではないウェブパスを使用する必要があり、あなたのウェブサイト上でホストされているページのトン、すなわち:

  • の操作を行います。file_get_contents('/home/user/site/file.html');
  • ません。file_get_contents('http://example.com/file.html');
+0

'file_get_contents()'の代わりにHTMLテンプレートを 'include()'することもできます。 – ComFreek

+0

あなたの助言に感謝します:)それは私を助けてくれましたが、その中にはPHPコードをよく解析することが含まれています。つまり、cat.phpの中にphp codを2回よく解析しますか?私はfile_get_content( 'http://localhost/cat.php?catid = 1')を使用するとどこに問題があるのですか? –

2

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

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

+0

SVGを使用して問題に遭遇するとき、私はそれがfile_get_contentsで実行する解決策になると思います。 http://stackoverflow.com/questions/21908855/wordpress-include-svg-file-error –

0
  1. これは意味のない質問です。両方とも十分速い。どこからでも質問にぶつかる必要はありません。
  2. ( 'cat.php?catid = 1');
  3. HTTPリクエストで独自のコードを呼び出すことは間違っています。

ので、コードが

include('cat.php'); 
+0

はいこれは私がやったことです、残念です。私はcat.phpを呼び出す前に$ _GETメソッドを設定しています。 –

+0

ので、そのまま保管してください。どうして質問するの? –

+0

知識のために私の友人:)私はあなたのような高い経験を持っていないと私は何かで逃すことを恐れているので、非常に私の仕事がうまくいるので私は今リラックスさせていただきありがとうございます –

-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. 
+1

この回答は単なる間違っています。 – Andy

+0

LOL私は制御できません:) –

関連する問題