kostenloser Webspace werbefrei: lima-city


Problem mit Upload-Formular

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    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&amp;id=' . $_GET['id'] . '" method="post" enctype="multipart/form-data">
        <input type="hidden" name="MAX_FILE_SIZE" value="10000000">
        <br>Bild ausw&auml;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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.



    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) :wink:
  5. 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) :wink:


    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
  6. Autor dieses Themas

    sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    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
  7. 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
  8. Autor dieses Themas

    sandrock-jonas

    Kostenloser Webspace von sandrock-jonas

    sandrock-jonas hat kostenlosen Webspace.

    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&amp;id=' . $_GET['id'] . '" method="post" enctype="multipart/form-data" onSubmit="speichern()">';


    Beitrag ge?ndert am 6.08.2006 13:52 von sandrock-jonas
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!