Hi,
ich hole mir mit realpath() den absoluten Pfad zu einer Datei die ich relativ angebe. So weit ich das sehen kann ist der Pfad auch korrekt. Wenn ich nun diesen absoluten Pfad mit require_once() in die Seite einbinden möchte, erhalte ich folgende Meldung:
Warning: require_once() [function.require-once]: Unable to access D:\CapSystems\web\ListProducts.0\includes\lpx-class-listproducts.php in D:\CapSystems\web\ListProducts\3.0\includes\test-lp.php on line 14
Warning: require_once(D:\CapSystems\web\ListProducts.0\incl udes\lpx-class-listproducts.php) [function.require-once]: failed to open stream: No such file or directory in D:\CapSystems\web\ListProducts\3.0\includes\test-lp.php on line 14
Fatal error: require_once() [function.require]: Failed opening required 'D:\CapSystems\web\ListProducts.0\includes\lpx-class-listproducts.php' (include_path='.;D:\xampp\php\PEAR') in D:\CapSystems\web\ListProducts\3.0\includes\test-lp.php on line 14
So wird der Pfad ermittelt:
Dieser Code befindet sich in lpx-class-listproducts.php in einer Public-Klassen-Methode. Die Klasse wird in einer Datei (generator.php in einem Verzeichnis weiter oben) instantiiert und die Methode aufgrufen.
Auch file_exists liefert false:
Die Datei existiert aber 100%ig.
Mein Document-Root ist: D:/CapSystems/web/
Wenn ich den Pfad wie folgt angebe, kommt die selbe Meldung wie oben:
Wo liegt das Problem?
Der Server ist das XAMPP-Rundum-Sorglos-Paket von apache-friends.org und läuft auf Windows Vista.
EDIT: Ich habe jetzt den Fehler gefunden: Der Pfad darf nicht in Anführungszeichen stehen, wenn ich die einfachen ' verwende, wird die Datei wunderbar eingebunden. Wie kann ich den Pfad so umwandeln, dass er auch mit Anführungszeichen ( " ) korrekt eingebunden werden kann?
EDIT2: Nicht gerade schön, funktioniert aber:
Schöne Grüße,
Andreas
ich hole mir mit realpath() den absoluten Pfad zu einer Datei die ich relativ angebe. So weit ich das sehen kann ist der Pfad auch korrekt. Wenn ich nun diesen absoluten Pfad mit require_once() in die Seite einbinden möchte, erhalte ich folgende Meldung:
PHP-Code:
require_once("D:\CapSystems\web\ListProducts\3.0\includes\lpx-class-listproducts.php");
Warning: require_once() [function.require-once]: Unable to access D:\CapSystems\web\ListProducts.0\includes\lpx-class-listproducts.php in D:\CapSystems\web\ListProducts\3.0\includes\test-lp.php on line 14
Warning: require_once(D:\CapSystems\web\ListProducts.0\incl udes\lpx-class-listproducts.php) [function.require-once]: failed to open stream: No such file or directory in D:\CapSystems\web\ListProducts\3.0\includes\test-lp.php on line 14
Fatal error: require_once() [function.require]: Failed opening required 'D:\CapSystems\web\ListProducts.0\includes\lpx-class-listproducts.php' (include_path='.;D:\xampp\php\PEAR') in D:\CapSystems\web\ListProducts\3.0\includes\test-lp.php on line 14
PHP-Code:
$filename = realpath('includes/lpx-class-listproducts.php');
Auch file_exists liefert false:
PHP-Code:
if(file_exists("D:\CapSystems\web\ListProducts\3.0\includes\lpx-class-listproducts.php")) {
die('existiert');
} else {
die('nee');
}
Mein Document-Root ist: D:/CapSystems/web/
PHP-Code:
echo($_SERVER["DOCUMENT_ROOT"]);
ListProducts/3.0/includes/lpx-class-listproducts.php
/ListProducts/3.0/includes/lpx-class-listproducts.php
./ListProducts/3.0/includes/lpx-class-listproducts.php
ListProducts\3.0\includes\lpx-class-listproducts.php
etc...
/ListProducts/3.0/includes/lpx-class-listproducts.php
./ListProducts/3.0/includes/lpx-class-listproducts.php
ListProducts\3.0\includes\lpx-class-listproducts.php
etc...
Der Server ist das XAMPP-Rundum-Sorglos-Paket von apache-friends.org und läuft auf Windows Vista.
EDIT: Ich habe jetzt den Fehler gefunden: Der Pfad darf nicht in Anführungszeichen stehen, wenn ich die einfachen ' verwende, wird die Datei wunderbar eingebunden. Wie kann ich den Pfad so umwandeln, dass er auch mit Anführungszeichen ( " ) korrekt eingebunden werden kann?
EDIT2: Nicht gerade schön, funktioniert aber:
PHP-Code:
$filename = str_replace('\\', '/', $filename);
Andreas
Kommentar