PHP5: fopen() ,dynamisches Pfad.

PositivDenker

Mitglied
Guten Abend,

so funktioniert:
PHP:
$a="hier";
$f="order/".$a."/test.txt";
$of=fopen($f,"w");
$error=fwrite($of,"blabla");
fclose($of);

und so funktioniert nicht:
PHP:
$file="text.txt";
$inhalt = file($file);
$a=$inhalt[0];
echo $a;                                     //  ausgegeben: "hier" 
$f="order/".$a."/test.txt";
$of=fopen($f,"w");                     //  FEHLER: no such file or directory
$error=fwrite($of,"blabla");     //  FEHLER: no such file or directory
fclose($of);                                //  FEHLER: no such file or directory

PHP 5 unterstützt keine dynamisch generierte Pfadnamen, oder ?
 
Warum sollte PHP 5 keine dynamischen Pfadangaben unterstützen? Gib mal $f mit var_dump() aus, dann wirst du sehen, dass dir PHP da etwas anderes zusammen bastelt als du denkst.
 
Danke für Mitteilung!

PHP:
var_dump($f);
echo $f;         // ausgegeben: string(22) "order/hier/test.txt"

19 Zeichen, aber es zeigt 22.
Na ja, text.txt ist als UTF-8 mit "BOM"(+3 Zeichen) gespeichert.
Kann das überhaupt sein?
 
Ich denke mal, dass du den Fehler hiermit gefunden hast. BOM = Byte Order Mark. Außerdem kann es sein, dass am Ende ein Zeilenvorschub (\n) enthalten ist, denn du aber nicht siehst. Oder es sind einfach am Anfang und/oder Ende Leerzeichen enthalten, welche ebenfalls nicht angezeigt werden. In diesem Fall ist trim() dein Freund.
 
Zurück