Wie include_once Warnungen abschalten/verhindern?!
alex-n
- php
Hallo,
ich habe hier einige PHP Files die ich in einem neuen kleinen Projekt jetzt wiederverwenden möchte.
Ich habe z.B. eine PHP Datei die viele kleine Hilfsfunktionen wie z.B. entferneSonderzeichenAusString(string) oder erzeugeXYAusString(string) etc. u.ä. bereitstellt. Also sowas wie eine kleine Bibliothek die ich immer wiederverwenden kann.
Ich verwende nun (via include_once) diese Funktionen in meiner Datei A.php.
In dieser A.php includiere ich jedoch B.html die EBENFALLS diese Hilfsfunktionen included. Denn das muss sie, weil B.html auch an anderer Stelle includiert wird wo die Hilfsfunktionen bisher nicht bereitstanden/included waren.
Nun bekomme ich beim Aufruf der A.html eine Warnung :
Warning: main() [function.include]: Failed opening '... usw.
Logisch! Denn ich habe ja versucht die Hilfsfunktionen (innerhalb B.html) trotz include_once nochmals zu inkludieren. Das geht aber leider nicht anders weil B.html diese Funktionalitätn an anderer Stelle ebenfalls braucht.
Funktionieren tut alles prima, nur die Warnung ist nich erwünscht :)
Was nun tun? Stumpf alles auf include umstellen? Die Servermeldungen abschalten? Wenn ja wie? Irgendwie hab ich in meiner Serveradministration (bei meinem Provider) nicht so wirklich viele Einstellungen?!
Hat jemand Rat? Wie kann ich da nun am gescheitesten vorankommen, bzw. wie geht man bei sowas am besten vor?
Dank und schonmal Gruß im Voraus
alex-n
Hi!
Ich verwende nun (via include_once) diese Funktionen in meiner Datei A.php.
Nun bekomme ich beim Aufruf der A.html eine Warnung :
Warning: main() [function.include]: Failed opening '... usw.
Wenn du jedes Mal include_once verwendest, kannst du die selbe Datei so oft angeben wie du willst. Das _once sorgt dafür, dass sie nur einmal eingebunden wird. include (ohne _once) nimmt keine Prüfung vor und inkludiert die Datei auch mehrmals. Aber das "Failed opening" hat wohl eher was damit zu tun, dass die Datei nicht gelesen/gefunden werden kann. Existiert sie? Ist der Pfad richtig angegeben? Es wird dabei immer vom gestarteten Script ausgegangen, nicht vom inkludierenden (wenn du nicht mit chdir() das Verzeichnis gewechselt hast). Außerdem werden die Dateien auch noch relativ zu den Einträgen des include_path gesucht.
Lo!
Wenn du jedes Mal include_once verwendest, kannst du die selbe Datei so oft angeben wie du willst. Das _once sorgt dafür, dass sie nur einmal eingebunden wird. include (ohne _once) nimmt keine Prüfung vor und inkludiert die Datei auch mehrmals. Aber das "Failed opening" hat wohl eher was damit zu tun, dass die Datei nicht gelesen/gefunden werden kann. Existiert sie? Ist der Pfad richtig angegeben? Es wird dabei immer vom gestarteten Script ausgegangen, nicht vom inkludierenden (wenn du nicht mit chdir() das Verzeichnis gewechselt hast). Außerdem werden die Dateien auch noch relativ zu den Einträgen des include_path gesucht.
Lo!
Ach so, ich dachte daß das Warning vom mehrfachen include_once kommt! Deine Anmerkung macht tatsächlich Sinn da an der Stelle wo das Warning kommt B.html included wird wo der Pfad zu den Tools dann INNERHALB von B.html nicht mehr stimmt. D.h. das ich da wohl tatsächlich "nur" ein Pfadproblem habe.
Ich werde das entprechend anpassen und falls es nicht klappt o.ä. wieder posten.
Ansonsten vielen Dank für den Hinweis
Gruß
alex