Zum Problem:
Meine Testseiten werden auf einem Win-System mit xampp erstellt.
Mein Webspace liegt aber auf einem Linux-Server.
Um file_exists korrekt verwenden zu können muß dem Pfad ein Slash bzw. Backslash voran gestellt werden, damit es unter Win funktioniert. Für Dateien, die includiert werden, lasse ich einen absoluten Pfad generieren.
Beispiel: C:\xampp\htdocs\urvater_neu\datei.xyz
Für Win-Systeme muß dies \C:\xampp\htdocs\urvater_neu\datei.xyz heissen, damit file_exists dies korrekt auswertet. Alles kein Problem.
So eine Möglichkeit sehe ich, wenn ich PATH_SEPARATOR bzw. DIRECTORY_SEPARATOR prüfe ob es ein Slash oder ein Backslash ist und je nach dem den Pfad bilde. Würde das funktionieren? Hier mal ein IF, der das prüfen könnte.
PHP-Code:
//$includePfad wird zuvor von einem Script erstellt. Der eigentliche Pfad ist immer mit DIRECTORY_SEPARATOR angegeben. Allerdings versucht er trotzdem Dateien zu includieren, die nicht existieren, da is_readable oder file_exist laufen auf Win-Systemen mal wieder eine Extrawurst brauchen.
<?php
if(DIRECTORY_SEPARATOR != '/') {
$includePfad = '\\'.$includePfad;
}