2009-06-14 4 views
0

Ich habe den seltsamsten Fehler. in meinem PHP-Datei enthalten i mehrere PHP-Dateien:einschließlich PHP-Datei Layout ändern?

<?php 
include("a.php"); 
include("b.php"); 
include("c.php"); 
?> 
<html> 
<head> 
<link rel="stylesheet" type="text/css" href="src/main.css" ></link> 
<script src="src/jquery-1.3.2.js" type="text/javascript" ></script> 
</head> 
<body> 
some more code here... 

, wenn die Seite gerendert wird, ich sehe, dass es etwa 18px sind dem Layout hinzugefügt und die Verknüpfung und Script-Elementen wurden im Inneren des Körpers Abschnitt bewegt. Wenn ich das Include von b.php und c.php entferne, passiert das nicht.

irgendwelche Gedanken?

+1

Was in a, b und c.php ist? Vielleicht können Leerzeichen oder Fehler das verursachen –

Antwort

2
  1. überprüfen.
  2. Suchen Sie nach Leerzeichen in Ihren Dateien
  3. stellen Sie sicher, die Endung?> Aus Ihren PHP-Dateien zu entfernen, wenn dies die letzten Zeichen in der Datei sind.

4. tun

?><html> 

statt

?> 
<html> 
+0

Leerzeichen vor dem sollte ignoriert werden. auch, was ist BOM? – nickf

+0

BOM == Bit-Reihenfolge markieren. Für Unicode, wo Zeichen mehr als ein Byte benötigt, sagen wir ef67, kann dies auch als 67ef dargestellt werden. Die BOM besteht aus drei am Anfang der Unicode-Datei hinzugefügten Zeichen, die dem Programm mitteilen, welche Reihenfolge korrekt ist. Google it, Wiki hat eine bessere Erklärung. –

+0

ich änderte in Notepad ++ das Format von utf-8 zu utf-8 ohne BOM und löste das Problem Vielen Dank! Amir. – Amir

0

Überprüfen Sie, ob am Ende der enthaltenen Dateien nach dem endgültigen Schließen ?> kein Leerzeichen mehr vorhanden ist. Der einfachste Weg, um sicher zu sein, es gibt nichts, danach ist es ganz zu entfernen:

für BOM
<?php 
// here is my file 
// and i don't have to close the PHP tag 
// woo 
+0

Und denken Sie daran: das schließende Tag kann nur entfernt werden, wenn kein HTML dahinter steht! –