Dateinamen richtig kodieren/erstellen
MaurerDig
- php
Hallo Ihr!
Mein Dateiname wird wie folgt erstellt:
$dateiname = $counter.'_'.$_POST['x'].'_'.$_POST['y'].'_'.$_POST['z'].'.zip';
$_POST['x'] enthält auch mal ein PLUS-Zeichen (+). Mein Server läuft komplett auf utf8 und Windows 2003 Server.
Speichere/Erstell ich nun die Zip mit PHP:
$archive = new PclZip("temp/zips/$dateiname");
oder
$archive = new PclZip('temp/zips/'.$dateiname);
Erstellt er mir diese wegen des + Zeichens nicht.
dateiname enthält z.b. 00011_x+x_yy_zz.zip
Das + Zeichen ist erwünscht und eigentlich darf es auch im Windows Dateinamen enthalten sein.
Hat jemand eine Idee woran das liegen könnte?
Mit rawurlencode($dateiname) speichert er immerhin die Datei, aber da es kein Unix System ist sieht der Name der Datei im Ordner dann so aus (bsp.):
00011_x%2Bx_yy_zz.zip
also %2B anstatt +
Regards,
Dig
hi,
Speichere/Erstell ich nun die Zip mit PHP: [...]
Erstellt er mir diese wegen des + Zeichens nicht.
dateiname enthält z.b. 00011_x+x_yy_zz.zipDas + Zeichen ist erwünscht und eigentlich darf es auch im Windows Dateinamen enthalten sein.
Und was macht "er" stattdessen?
Mit rawurlencode($dateiname) speichert er immerhin die Datei, aber da es kein Unix System ist sieht der Name der Datei im Ordner dann so aus
Was soll das mit Unix-System oder nicht zu tun haben?
rawurlencode kodiert URL-gerecht. Zum Dateisystem besteht hinreichend wenig Zusammenhang.
gruß,
wahsaga
Und was macht "er" stattdessen?
Er speichert die Datei erst gar nicht, zudem bekomme ich keine Fehlermeldung.
Was soll das mit Unix-System oder nicht zu tun haben?
rawurlencode kodiert URL-gerecht. Zum Dateisystem besteht hinreichend wenig Zusammenhang.
Okay, hast du eine Idee das + Zeichen da trotzdem reinzubekommen dass es richtig dargstellt wird (unter mac/windows)?