2016-08-27 4 views
0

私は小さなウェブサイトを開発しており、PHPのinclude()機能を使用する際にヘッダーを含めることにしています。ただし、インクルードから取り込まれたコードの直前には、この奇妙なページがあります。それはPHPページからを削除するには

<!DOCTYPE html> 
<html> 

<head> 
    <title>Things and Stuff | Source Files</title> 
    <!-- Style Sheets/Scripts/Misc Stuff --> 
    <link rel="stylesheet" type="text/css" href="css/main.css"> 
    <link rel="stylesheet" type="text/css" href="css/gmod.css"> 
    <link rel="stylesheet" type="text/css" href="css/alerts.css"> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
    <script src="scripts/cycle.js"></script> 
</head> 

<body> 

<?php include('./utilities/header.php'); ?> 

<!-- rest of the page from here down... --> 

EDIT W/SOLUTION

が起こっている場所

はここでページのコードだ私は下からの助けのおかげでそれを考え出しました。 私はメモ帳でファイルを開いた+ +を修正するには、それをPHPに設定し、エンコードの下に、選択されたANSI(これはUTF-8のBOM付きでした)が見つかりました!

+1

ヘッダーファイルの内容を表示してください。 – Chris

+6

これはあなたにとって最適です:[http://stackoverflow.com/questions/3255993/how-do-i-remove-%C3%AF-from-the-beginning-of-a-file](http:/ /stackoverflow.com/questions/3255993/how-do-i-remove-%C3%AF-from-the-beginning-of-a-file) – Provie9

+0

ヘッダーファイルにある必要があります – Tonza

答えて

4

ヘッダーファイルには、バイトオーダーマークヘッダーが含まれています。ヘッダーファイルは、それを理解して印刷しないテキストエディターではっきりと表示されません。

一方、コンパイラ/パーサは完全なASCIIを期待しており、BOMマークを理解していません。

解決方法:16進エディタまたはBOMエンコーディングを使用しないASCIIまたはUTF8に設定されたテキストエディタを使用して、ヘッダーファイルの最初の3バイトを削除しても機能します。私はそれが動作する3つの最初のバイトを削除した場合3つの第一文字とBOMとUTF8でエンコードされたファイルのスクリーンショット以下

enter image description here

(frHedを用いて)強調表示されました。 OR:Notepad ++で開き、エンコードをASCIIに変更し、保存してください。

+0

バイトオーダーマーク通常、各文字は複数のバイトになります。つまり、ファイル内にヌルバイトがたくさんあることを意味しますか? –

+0

これはUTF16形式で行われます。その場合、最初の3バイトを削除することはできませんが、エンコーディングをASCIIまたはUTF8-noBOMに変更することもできます。 –

+0

これはうまくいった!どうもありがとうございました!私はNotepad ++で変更する最中にこのオプションを使用しました – FirstOrderKylo

1

PHPファイルのエンコードを確認してください。ブームを起こさずにUTF8を使ってみて、ファイルの先頭に空白がないことを確認してください。

関連する問題