Bei deinem "Ordnerbaum" blicke ich nicht durch was da wo liegt - da fehlt (fast) jegliche Einrückung um das vernünftig erkennen zu können. Ich vermute aber mal dass du wirklich ../ brauchst um eine Eben höher zu kommen (in dem Link geht es um Links in HTML, ./ und ../ gilt auf Dateisystembasis aber genauso).
PHP ist es völlig egal was da in welcher Datei steht, dass da einzelne HTML-Tags in einer Datei stehen interessiert PHP nicht - am Ende muss aber trotzdem valides HTML rauskommen sonst ist es ein Glücksspiel ob die Darstellung in den Browsern passt oder nicht. Einfach ein div offen lassen ist also nicht wobei dein wrapper-Div sowieso überflüssig ist, du hast bereits ein Element das die komplette Seite enthält: body. Aber dein raten woran es liegen könnte ist Blödsinn: schalte display_errors ein (oder schau ins Errorlog) und setze error_reporting hoch dann sagt dir PHP schon wo das Problem liegt.
Außerdem halte ich das Stückeln für unübersichtlich und fehleranfällig, aber wenn du meinst … Was machst du wenn du für body mal ein Attribut (z.B. id oder class) brauchst?
Auch ist dein HTML kaputt:
- img ist ein leeres Element, </img> gibt es nicht (dito bei hr)
- vergiss Attribute wie align (beim img)
- img *muss* ein alt-Attribut haben
- a darf kein button enthalten
- im head fehlt ein meta-Element mit der Viewportangabe
- <div class="sidebox"> klingt nach <aside>
- <a id="pagetop"></a> ist Unsinn, ID für body oder zumindest ein Element ohne Bedeutung (span/div) reicht
- <div class="wrapper"> ist Unsinn und </div> fehlt, siehe oben