mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 13:25 Benutzername: Passwort: Auto-Login

Thema: php5 file exists vom 06.06.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> php5 file exists
Autor Nachricht
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mi 06.06.2007 14:53
Titel

php5 file exists

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Mi 06.06.2007 15:06
Titel

Antworten mit Zitat Zum Seitenanfang

Explode dir doch den Include-Path und geh den mit dem relativen Pfad zur Datei durch.

Wofür brauchst Du das genau?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mi 06.06.2007 15:32
Titel

Antworten mit Zitat Zum Seitenanfang

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: Männlich
Verfasst Mi 06.06.2007 15:37
Titel

Antworten mit Zitat Zum Seitenanfang

Ich hab mal nen Benchmark gemacht: http://m.tacker.org/blog/599.__autoload-vs-require_once.html

Fazit: Spar die die Mühe und mach alles per __autoload.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mi 06.06.2007 17:50
Titel

Antworten mit Zitat Zum Seitenanfang

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? Hmm...?!


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: Männlich
Verfasst Mi 06.06.2007 21:13
Titel

Antworten mit Zitat Zum Seitenanfang

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.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Account gelöscht
Threadersteller


Ort: -
Alter: -
Verfasst Mi 06.06.2007 21:26
Titel

Antworten mit Zitat Zum Seitenanfang

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
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.