Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
simpleXML - xml lade-fehler [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
simpleXML - xml lade-fehler


 
Maax
18-11-2009, 00:08 
 
Hey zusammen,
ich habe ein kleines Problem mit simpleXML
ich lese ein paar xml-Dateien wie folgt ein:

[...]
$target_1 = "/var/www/test/";
$target_2 = "/test1/12345/";
$handle=opendir ( $target_1 );
while ($datei = readdir ($handle)){
if (!is_dir($datei) && strrchr($datei,".") == ".xml"){
$xml = simplexml_load_file($datei);
[...]
}
}
wenn ich das Programm mit $target_1 laufen lasse funktiniert es wunderbar! Sobald ich jedoch $target_2 als quelle nutze bekomme ich folgenden Fehler:

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "test.xml" in /var/www/test/xml.php on line 15

target_2 ist ein hardlink der auf einen unterordner von /test1/test2/ verweist!
Die Dateistruktur sieht wie folgt aus:
server
--var
----www
------test
--test1
----12345
----test2
------1
------2
------3
------[...]
--[...]

Wenn ich in obiger schleife sämtliche Dateien ausgeben lasse kann ich erkennen, dass ich auf jedenfall im richtigen ordner lande! Aber wieso kann ich dort keine xml-Datei einlesen??

Woran könnte das liegen? Bin für jeden Tipp dankbar!
Vielen Dank
Määx

 
wahsaga
18-11-2009, 00:15 
 
Wenn du nur den Dateinamen angibst, und den Pfad komplett unterschlägst - dann musst du dich nicht wundern, wenn das Einlesen fehlschlägt.

 
AmicaNoctis
18-11-2009, 00:16 
 
Hallo,

Hardlinks auf Verzeichnisse kenne ich nur als "Junction Point" und damit hatte ich mit PHP auch Probleme. Meines Wissens (keine Garantie) kann PHP nur auf Datei-Hardlinks zugreifen.

Gruß,

Amica

Edit: vergiss, was ich sagte, wahsagas Begründung ist weitaus schlüssiger ;)

 
Maax
18-11-2009, 00:29 
 
aach ich idiot :)
danke damit sollte es dann klappen...

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:16 Uhr.