0

これがあなたの達人にはおそらくどれほど簡単に思えるかはわかっていますが、1時間以上探していましたが役に立ちませんでした...

目標: すべての Web ページで 1 つのフッター ファイルとメニュー ファイルを使用する。ブロック、速度などを考慮して、メニューのコンテンツは純粋な html/css であり、フッターのコンテンツは純粋な html/css です。注入されるコンテンツに基づいて最適なソリューションは変化しますか? 例: ビデオ、jscript などが含まれている場合。

2 つの部分からなる質問: 1) 最適な方法はどれですか? タグの使用、jscript の使用など、ある種の php インクルード。つまり、php メソッドが機能するためには、呼び出し元の Web ページが .php である必要がありますか? その場合、HTML5 標準は論点になりますか? たとえば、index.html に footer.php を挿入したい場合、index ファイルも .php である必要がありますか? タグについても同様に、外部ファイルを .html ファイルにすることはできますか (.css 呼び出しですべてのヘッダー情報をリロードするという考えは好きではありません)、それとも .php にする必要がありますか?

index.html ファイル内で、次のことを試しました。

<object id="footerArea" width="100%" height="20%" 
  type="text/html" data="footer.html">
</object>

<?php include 'footer.php' ?>

これらのどちらも私にはうまくいかないようです。

ご参考までに...これは私のフッターのコードで、サンプルデータを挿入して短く読みやすくしようとしています:

<div class="footer box">
<p class="f-right t-right">
 <a href="#">www.mysite.com</a><br />
  Address: Medford, OR<br />
  Phone: (541) 555-5555
</p>

<p class="f-left">
 Copyright &copy;&nbsp;2011 <a href="#">My Name</a><br />
</p>

<p class="f-left" style="margin-left:20px;">
 <a href="http://sampleurl.com" target="_blank">
  <img style="border:0;width:88px;height:31px"
   src="http://sampleurl.com"
   alt="Valid CSS3!" />
 </a>
</p>

<p class="f-left" style="margin-left:20px;">
 <a href="http://sampleurl" target="_blank">
 <img src="http://sample.png" width="228" height="50" alt="sample alt" title="sample title">
 </a>
</p>
</div>

私のフォーマットを許してください。フォーラムにコードを投稿するのはまだ初めてです。最善を尽くした :)

4

4 に答える 4

3

URL に表示されるファイル名の拡張子には、そのファイルがダウンロードされたときにブラウザがどのように処理するかはまったく関係ありません。それはすべてContent-type、ファイルに付随するヘッダーに帰着します。.exeWeb マスターは、すべてのファイルをプレーンな HTML ページとして扱うようにサーバーを簡単に構成できます。.htmlまた、PHP パーサーを介してページを実行するように Web サーバーに指示することもできます。実際、「最新の」SEO 最適化 URL では、ファイル拡張子がまったく表示されることはめったにありません。example.com/some/wonky/pathではなく、すべてのようなものになりますexample.com/page.php?id=wonky

PHP がページを構築して出力するという事実も、HTML 準拠とは何の関係もありません。ブラウザが受け取るページが規格に準拠しているかどうかにかかっています。すべてのタグが適切に閉じられていますか? 属性は適切に定義されていますか? タグは適切にネストされていますか? 何とか何とか何とか。

コードを適切に作成すると、出力される html は適切に構造化され、有効な html になります。有効な html でない場合、それは PHP のせいではありません。適切な出力を生成しないコードをまとめたのは、あなたのせいです。

URLのファイル拡張子が関連する可能性があるのは、Web サーバーが「application/octet-stream」などの一般的なコンテンツ タイプを出力する場合のみです。ブラウザは、検出可能なファイル拡張子を使用してコンテンツのタイプを推測し、そのように処理しようとする場合があります。しかし、これは保証も信頼もできません。

于 2012-11-03T03:47:39.337 に答える
1

缶詰のフッターのような呼び出しコードの場合、必要に応じて単純なフッターを作成し、次を含めることができます。

<?php
readfile("yourfile.htm");
?>
于 2013-12-13T02:31:44.277 に答える
0

次のようなものは、あなたが望むことをするはずです:

index.php

<html>
  <head>
    <link rel="stylesheet" type="text/css" href="main.css" />
    <!-- other css, scripts etc -->
  </head>
  <body>
    <!-- your main content here -->
    <?php include 'footer.html' ?>
  </body>
</html>

footer.html

<div class="footer box">
  <!-- your footer content here -->
</div>

index.php をブラウザーにロードして「ソースを表示」すると、上記の内容が表示されますが<?php include "footer.html" ?>、ファイル「footer.html」の内容に置き換えられるはずです。

Web ブラウザーでソースを表示する場合、php コード自体は表示されません。「ソースを表示」に php コードが表示される場合は、サーバーが php を正しく実行するように構成されていないことを示しています。


ブラウザーからコンテンツをロードし、php を使用しない代替アプローチについては、この関連する質問と回答を参照してください。

于 2012-11-03T15:07:06.097 に答える