[PHP] Mehrfacher Datei-Upload

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/php_mehrfacher_datei-upload_149085/page_1 - zur Vollversion wechseln!


moidaschl schrieb am 11.09.2005 um 17:57

Abend!

Ich bin gerade dabei ein Script zu schreiben wo zwei Files gleichzeitig upgeloaded werden sollen (huh - geht das?).

Entweder hab ich mich nur vertippt oder es is ein grundlegender Denkfehler bei der Sache, aber es kommt immer die Fehlermeldung "Bild groß fehlt", auch wenn ein Pfad angegeben wurde. Das er dann zum Upload nichtmehr kommt ist eh klar.

Warum?

Code: PHP
if(isset($_POST['submit'])) {
         // submitted
         // data checken
         $check = 0;
         if($_POST['titel'] == '') {
                echo "<center><font color=\"#B52E2E\"><b>Name fehlt</b></font></center>\n";
                $check++;
         }
         if($_POST['link'] == '') {
                $_POST['link'] = "n/A";
         }
         echo $_FILES['bild_big']['tmp_name'];
         if(!isset($_FILES['bild_big']['tmp_name'])) {
                echo "<center><font color=\"#B52E2E\"><b>Bild groß fehlt</b></font>
                </center>\n";
                $check++;
         }
         if($check == 0) {
            // uploaden
            $path_big = "images/sponsoren/".$_FILES['bild_big']['tmp_name'];
            if(!isset($_FILES['bild_small']['tmp_name'])) {
              $path_small = $path_big;
            } else {
              $path_small = "images/sponsoren/".$_FILES['bild_small']['tmp_name'];
            }
            move_uploaded_file($_FILES['bild_big']['tmp_name'], $path_big);
            move_uploaded_file($_FILES['bild_small']['tmp_name'], $path_small);
            $sql = "INSERT INTO sponsoren
                        (name, link, path_big, path_short)
                    VALUES
                        ('".$_POST['titel']."', '".$_POST['link']."',
                         '".$path_big."', '".$path_short."')";
            mysql_query($sql);
         }
         echo "<br>";
        }
        echo "<form method=\"post\" action=\"index.php?page=admin_sponsor&action=add_spon\">
        \n";
        echo "<table border=\"0\" align=\"center\" width=\"80%\" cellspacing=\"0\"
                class=\"archtable\"  cellpadding=\"2px\">\n";
        echo "<tr>\n";
        echo "<td class=\"top_right\" colspan=\"2\"> • <b>Sponsor hinzufügen</b></td>\n";
        echo "</tr>\n";
        echo "<tr>\n";
        echo "<td class=\"body\"><b>Name</b></td>\n";
        echo "<td class=\"body_right\"><input name=\"titel\" type=\"text\" size=\"43\">
        </td>\n";
        echo "</tr>\n";
        echo "<tr>\n";
        echo "<td class=\"body\"><b>Link</b></td>\n";
        echo "<td class=\"body_right\"><input name=\"link\" type=\"text\" size=\"43\">
        </td>\n";
        echo "</tr>\n";
        echo "<tr>\n";
        echo "<td class=\"body\"><b>Bild - Groß</b></td>\n";
        echo "<td class=\"body_right\"><input name=\"bild_big\" type=\"file\" size=\"25\">
        </td>\n";
        echo "</tr>\n";
        echo "<tr>\n";
        echo "<td class=\"body\"><b>Bild - Klein</b></td>\n";
        echo "<td class=\"body_right\"><input name=\"bild_small\" type=\"file\" size=\"25\">
        </td>\n";
        echo "</tr>\n";
        echo "<tr>\n";
        echo "<td></td>\n";
        echo "<td><input type=\"submit\" name=\"submit\" value=\"- Eintragen -\"></td>\n";
        echo "</tr>\n";
        echo "</table><br \>\n";
        echo "</form>\n";

Ich hoff mein Programmierstil is ned zu schlecht, man hätte hald diverse HTML-Tags noch zusammenfassen können :D

thanks in advance,
daschl


Rektal schrieb am 12.09.2005 um 09:41

Schau dir mal genau an wie $_FILES aussieht (Hint: var_dump($_FILES); ), vielleicht hilft dir das schon?


cduke schrieb am 12.09.2005 um 15:44

Hi,

in Deinem Form-Tag fehlt das Attribut enctype="multipart/form-data".

greetz cduke


cduke schrieb am 12.09.2005 um 15:48

Noch etwas ist mir aufgefallen: statt den 1 Milliarden echo's kannst Du auch einfach den php-Tag schließen (?>;) und dann direkt in HTML loslegen - also die Gschichteln anbringen, die jetzt in den echo's stehen. Wenn Du wieder in php weiter machen willst, dann öffnest Du den php-Tag wieder <?php usw.

hth cduke


moidaschl schrieb am 12.09.2005 um 16:30

Zitat von cduke
Hi,

in Deinem Form-Tag fehlt das Attribut enctype="multipart/form-data".

greetz cduke

oooh shit dass ich das vergessen habe, dachte ich hätte es drin. danke!

ja das mit den echos muss ich auch noch machen, nur in der hitze des gefechts mach ich einfach hunderte von denen :D




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025