Autor |
Nachricht |
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mi 06.06.2007 14:53
Titel php5 file exists |
|
|
Doofe Frage #3:
Wie kann ich denn Prüfen, ob eine Datei im Filesystem existiert, und dabei AUCH den include-path berücksichtigen?
(also ohne rödelei, ob es da ne funktion für gibt ist die frage)
Zuletzt bearbeitet von am Mi 06.06.2007 15:03, insgesamt 1-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Mi 06.06.2007 15:06
Titel
|
|
|
Explode dir doch den Include-Path und geh den mit dem relativen Pfad zur Datei durch.
Wofür brauchst Du das genau?
|
|
|
|
|
Anzeige
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mi 06.06.2007 15:32
Titel
|
|
|
Ja das war auch meine Idee, ich dachte nur es gäb da was Fertiges. Ich schreibe gerade einen globalen Klassenloader um die __autoload-Funktion herum, der man verschiedene Parameter vorgeben kann (Verzeichnisse, in denen zu suchen ist, Datei-Suffixe wie class.php, inc.php, interface.php ...). Das Teil macht drei Sachen: 1.) include path zusammenbauen, 2.) bestimmte Dateien bereits vorladen, 3.) wärend des Ladevorgangs benötigte Dateien (bspw. Elternklassen oder Interfaces) per __autoload ebenfalls laden.
Das Ding soll so intelligent wie möglich werden, damit ich Konfigurationsdateien entschlacken kann. Funzt jetzt auch, ich hab anstelle den Include Path außeinanderzunehmen, wärend das Suchvorgangs bereits alle Pfade gespeichtert. autoload braucht jetzt anstelle von file_exists() einfach per in_array() die zu suchende Klassendatei in der Dateiliste zu suchen.
Problem nur: Dadurch wird das Teil nicht eben flotter...
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
|
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mi 06.06.2007 17:50
Titel
|
|
|
Na ick wees nüscht. 4% schneller wenn ich das richtig verstehe? Und in __autoload kommen ja auch die gleichen include/require_once-statements zum Einsatz.
Also ich denk das macht schon Sinn, n Wrapper da rum zu schreiben, erstmal um verschiedene Filetypen aus- bzw. einzuschließen und verschiedene Ordner samt Subdirectories einzulesen.
Da ich Organisationsverrückt bin, hab ich ne ziemlich komplexe Ordnerstruktur mit Package-, Subpackage- und Klassenverzeichnissen, die ich sonst alle schön manuell dem include-Path hinzufügen müsste. So gehts jetzt in ein paar Zeilen Code automatisch. Da ist mir der geringfügig höhere Rechenaufwand eigentlich latte. Aber man muss ja dafür nicht crapcode verwenden, daher suchte ich halt nach ner Funktion zur Beschleunigung. __autoload benutzt das Teil ja nach wie vor.
//
Aber ich glaube eh, dass ich dich falsch verstanden habe: Du meinst, __autoload ist geringfügig langsamer als der herkömmliche Weg, trotzdem aber diesem vorzuziehen. Korrekt?
Zuletzt bearbeitet von am Mi 06.06.2007 17:52, insgesamt 1-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Mi 06.06.2007 21:13
Titel
|
|
|
XSchinkenX hat geschrieben: | Aber ich glaube eh, dass ich dich falsch verstanden habe: Du meinst, __autoload ist geringfügig langsamer als der herkömmliche Weg, trotzdem aber diesem vorzuziehen. Korrekt? :hmm: |
Richtig.
|
|
|
|
|
Account gelöscht
Threadersteller
Ort: -
Alter: -
|
Verfasst Mi 06.06.2007 21:26
Titel
|
|
|
Hätten wir das ja geklärt. Das Ding läuft jedenfalls jetzt, und das nicht mal schlecht. Performancemäßig müsste man das vielleicht mal vergleichen, aber da fehlt mir die Muße zu.
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PHP5] Welches Buch zum Thema PHP5 ?
IF Spalte exists?
OOP in PHP5, Vererbung?
probleme mit php5
php3 zu php5?
PHP5 Neuerungen
|
|