2011-12-17 1 views
4

私のHTML ヘッドタグの内容をいくつかのページに共有したいのですが、require_onceを使うと奇妙なエラーに遭遇します。 HTML ヘッドタグ。私はより良く説明しましょう。php require_onceまたはHTMLのheadタグの中にインクルードするコードを頭の中に入れて本体に入れません

私は次のコードがある場合:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Datos Soluciones Informáticas</title>   
     <meta charset="UTF-8"> 
     <link rel="stylesheet" href="/css/main.css"> 
</head> 

を、私は、コードを調べ、予想通り、everthingが見えます。しかし

enter image description here

、私は

<meta charset="UTF-8"> 
<link rel="stylesheet" href="/css/main.css"> 

/snippets/head.php外部ファイルに私の頭のタグの内容を移動してから、私のindex.phpファイルに次のコードを記述する場合:ザが検査

<!DOCTYPE html> 
<html> 
<head> 
    <title>Datos Soluciones Informáticas</title>   
    <?php require_once('/snippets/head.php'); ?>  
</head> 

は、コードが適切な場所に挿入されていないことを示している:

enter image description here

検査が機能しないが、ページが期待どおりに動作しないという問題だけではありません。私はinclude代わりrequire_once

ビュー・ソースで得られた生の出力と同じ問題を持っている:クロムのlocalhostがよさそうだが、ページが私はXAMPP 6.1ビルド7601を使用しています

<!DOCTYPE html> 
<html> 
<head> 
    <title>Datos Soluciones Informáticas</title>   
    <meta charset="UTF-8"> 
<link rel="stylesheet" href="/css/main.css"> 
</head> 
<body> 

うまく表示されません私のローカル環境としてのWindows 7マシン。

誰も私が迷っていることを知っていますか?

+0

このファイルは実際に存在しますか? head.phpの内容も印刷してください。 –

+3

あなたのページの元のソースを表示できますか? DOMインスペクタは、ブラウザがソースから生成したDOMツリーを表示し、ブラウザは無効なマークアップをクリーンアップしようとします。また、W3 HTMLバリデーターを通してスクリプトの出力をフィードするとどうなりますか? – GordonM

+0

+1生の出力 – marcio

答えて

10

別のショット:

は、あなたのインクルードファイルは、目に見えないバイトオーダーマーク(BOM)で開始していますか?その後、適切な文字エンコーディングを設定して削除します。

AVOID ZERO BYTEのORDER MARK:

このコメントが含まれているhttp://php.net/manual/en/function.include.php参照してください!

私はinclude/requireに問題がありました(1回かどうか)。私はinclude-opening.phpを作成しました。これにはページの初期構造があり、このページは他のすべてのページに含まれていました。結果は "クラッシュ"していたので、HTMLコードを含めたり、貼り付けたりして比較しました。ソースコードがまったく同じであっても、ハードコードされたバージョンはokと表示されました。

私はnotepad ++でインクルードファイルを開き、エンコーディングをUTF-8(BOMなし)に設定しました。そしてすべてがうまくいきました。

+0

ありがとうエリック –

0

はこのように、最初のスラッシュせずにファイルを含めるようにしてください:

<?php require_once('snippets/head.php'); ?> 
+0

まだ同じです。問題を解決しない –

関連する問題