2009-04-06 13 views
0

Gibt es ein Problem mit einigen Versionen von PHP und Dateinamen, die wie folgt aussehen:PHP-Include-Dateien mit Perioden in Dateinamen

report.class.php 

Ich habe versucht, eine verwenden und es scheiterte einmal und arbeitete einmal, aber ich kann den Fehler nicht replizieren. Daher bin ich mir nicht sicher, was genau die Ursache ist, bevorzuge die Verwendung der durch Punkte getrennten Dateinamen, würde es aber vorziehen, keine "zerbrechlichen" Dateinamen auf meiner Website zu verwenden.

Antwort

7

Dateinamen mit mehreren Punkten in ihnen funktionieren gut in PHP umfasst. Ich wünschte, ich könnte mehr helfen, aber da Sie den Fehler nicht replizieren können, kann ich Ihnen nur versichern, dass es nicht der Dateiname ist.

Erwägen Sie stattdessen, Ihre Klassen im Muster class.xxx.php zu benennen. Sie werden auf diese Weise zusammen alphabetisiert.

4

Haben Sie daran gedacht, Ihren Dateinamen anzugeben?

zB sollte es sein:

include 'report.class.php'; 

nicht

include report.class.php; 

Im letzteren Fall das Fehlen zitierte Ursachen PHP die Strings als Konstanten zu interpretieren, dann mit einem E_NOTICE scheitern, und angenommen, dass Sie String-Literale verwenden wollten. Die Perioden werden als String-Verkettung Operatoren interpretiert werden, und PHP wird Ihren Befehl als gleichwertig mit dem folgenden Ende der Interpretation:

include 'reportclassphp'; 

Wenn dies in der Tat, was passiert ist, dann stellen Sie sicher, PHP HINWEIS Level-Fehler machen und pass auf sie auf. Während Fehler auf der HINWEIS-Ebene möglicherweise störend erscheinen, können sie in den meisten Fällen auf tatsächliche Logikprobleme in Ihrem Code hinweisen.

+0

Ich vermute, dass das passiert ist: Ich habe mir selbst PHP beigebracht und einige ziemlich elementare Fehler gemacht. Vielen Dank! – ehdv