Problem mit Upload-Formular
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beitrag
beobachtung
bescheid
beschreibung
bild
datei
dateiname
folgende zeile
formular
funktion
gebieten
gedacht
laden
meisten
normalerweise
schreibe
sonderzeichen
vergleichbare funktion
vielen dank
vorkommen
-
Hallo,
ich habe folgendes Problem: ich schreibe zur Zeit ein Bild-Upload-Script um JPEG-Bilder auf einen Server zu laden. Das Upload-Script an sich funktioniert zwar, aber manchmal wird von dem Formular kein Bild ?bermittelt. Nach meinen Beobachtungen gibts Probleme, sobald Leer- oder Sonderzeichen im Pfad des Bildes vorkommen. Kennt jemand dieses Problem und wei? eine L?sung?
Hier des Code des Formulars:
echo ' <form action="' . $_SERVER['PHP_SELF'] . '?action=bildSpeichern&id=' . $_GET['id'] . '" method="post" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="10000000"> <br>Bild auswählen: <input type="file" name="bild" maxlength="100000"> <br>Titel des Bildes: <input type="text" name="titel"> <br>Beschreibung des Bildes: <textarea name="beschreibung"></textarea> <br><input type="submit" value="Bild speichern"> </form> ';
wenn ihr noch mehr Code braucht, sagt Bescheid. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi,
ich kenne dieses Problem auch schon und habe dazu nie eine L?sung gefunden. Mir ist jedoch aufgefallen, dass es auf den Browser drauf an kommt. Normalerweise sollte der Browser die Dateinamen verschlusseln (als %-Zeichen gefolgt vom Hexadezimalcode des entsprechenden Zeichens). Vielleicht k?nnte man den Dateinamen vor dem Versenden des Formulars mit JavaScript verschlusseln, ich bin mir jedoch nicht sicher, ob das funktionieren w?rde.
Der Code scheint ok zu sein, daran kann das Problem nicht liegen.
mfg,
hr -
sandrock-jonas schrieb:
Hallo,
ich habe folgendes Problem: ich schreibe zur Zeit ein Bild-Upload-Script um JPEG-Bilder auf einen Server zu laden. Das Upload-Script an sich funktioniert zwar, aber manchmal wird von dem Formular kein Bild ?bermittelt. Nach meinen Beobachtungen gibts Probleme, sobald Leer- oder Sonderzeichen im Pfad des Bildes vorkommen. Kennt jemand dieses Problem und wei? eine L?sung?
Hier des Code des Formulars:
echo ' <form action='' . $_SERVER['PHP_SELF'] . '?action=bildSpeichern&id=' . $_GET['id'] . '' method='post' enctype='multipart/form-data'> <input type='hidden' name='MAX_FILE_SIZE' value='10000000'> <br>Bild ausw?hlen: <input type='file' name='bild' maxlength='100000'> <br>Titel des Bildes: <input type='text' name='titel'> <br>Beschreibung des Bildes: <textarea name='beschreibung'></textarea> <br><input type='submit' value='Bild speichern'> </form> ';
wenn ihr noch mehr Code braucht, sagt Bescheid.
Du k?nntest einfach ?,?,? und die Leerzeichen mit str_replace() durch ae,ue,oe und %20 ersetzen.
Probieren geht ?ber studieren(meistens jedenfalls) -
Hi,
benutzernaemelchen schrieb:
[...]
Du k?nntest einfach ?,?,? und die Leerzeichen mit str_replace() durch ae,ue,oe und %20 ersetzen.
Probieren geht ?ber studieren(meistens jedenfalls)
Jedoch m?sste man die Zeichen vor dem Verschicken umwandeln, weil das Problem beim Upload stattfindet und nicht, wenn die Datei schon hochgeladen wurde.
mfg,
hr -
heavyraptor schrieb:
Hi,
ich kenne dieses Problem auch schon und habe dazu nie eine L?sung gefunden. Mir ist jedoch aufgefallen, dass es auf den Browser drauf an kommt. Normalerweise sollte der Browser die Dateinamen verschlusseln (als %-Zeichen gefolgt vom Hexadezimalcode des entsprechenden Zeichens). Vielleicht k?nnte man den Dateinamen vor dem Versenden des Formulars mit JavaScript verschlusseln, ich bin mir jedoch nicht sicher, ob das funktionieren w?rde.
Der Code scheint ok zu sein, daran kann das Problem nicht liegen.
mfg,
hr
An eine L?sung mit JavaScript hab ich auch schon mal gedacht, leider bin ich aber auf dem Gebiet JavaScript nicht so bewandert.
Gibt es eine vergleichbare Funktion zur PHP-Funktion ereg_replace() in JavaScript? Wenn ich das w?sste k?nnte ich mich da dran begeben.
@mods: Bitte ins Forum HTML & JavaScript verschieben, da es ja jetzt um JavaScript geht.
edit:
Ich habs ?brigens nur mit Firefox ausprobiert.
Beitrag ge?ndert am 4.08.2006 13:02 von sandrock-jonas -
Hi,
eigentlich k?nntest du den Dateiname einfach mit encodeURIComponent() verschl?sseln. Das ist einfacher als jedes einzelne Zeichen zu verschl?sseln (preg_replace() f?r JavaScript gibt es aber schon, ist jedoch jetzt nicht n?tig).
mfg,
hr -
Hi,
eigentlich k?nntest du den Dateiname einfach mit encodeURIComponent() verschl?sseln. Das ist einfacher als jedes einzelne Zeichen zu verschl?sseln (preg_replace() f?r JavaScript gibt es aber schon, ist jedoch jetzt nicht n?tig).
mfg,
hr
Vielen Dank, das scheint zu funktionieren. Ich hab ne Funktion draus gebastelt:
<script type="text/javascript"> function speichern() { var URL = encodeURIComponent(document.upload.bild.value); document.upload.bild.value = URL; } </script>
und bei besagtem Formular hab ich folgende Zeile ge?ndert:
echo '<form name="upload" action="' . $_SERVER['PHP_SELF'] . '?action=bildSpeichern&id=' . $_GET['id'] . '" method="post" enctype="multipart/form-data" onSubmit="speichern()">';
Beitrag ge?ndert am 6.08.2006 13:52 von sandrock-jonas -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage