+ Antworten
Ergebnis 1 bis 5 von 5

Thema: Zwei Bilder gleichzeitig hochladen?

  1. #1
    TP-Senior bigtail macht alles soweit korrekt Avatar von bigtail
    Registriert seit
    Apr 2003
    Beiträge
    252

    Zwei Bilder gleichzeitig hochladen?

    Hallo,

    Ich habe ein Script mit dem ich ein Bild hochladen u. den Dateinamen in einer DB abspeichern kann. Das funktioniert bestens.

    Nun würde ich gern dieses so umarbeiten, daß das auch mit mehreren (in diesem Fall bis zu 4) Bildern funktioniert.

    Was man machen kann, wenn man das Formular wie folgt erweitert ist, das Php-Script einfach 4 mal hintereinander zu schreiben und dort jeweils statt $picture, $picture1 , $picture2 usw. zu schreiben.

    Das ist nicht schön, verbraucht viel Platz - funktioniert aber.
    Nichtsdestotrotz bin ich weiterhin dankbar für einen Anstoß zu einer schlankeren Lösung.

    Hier ist das Script:

    PHP-Code:
    //Beginning of Uploading Image
        
    $tempname1 $_FILES['picture1']['tmp_name']; 
        
    $pic_name1 $_FILES['picture1']['name']; 
        
        
    $type1 $_FILES['picture1']['type']; 
        
    $size1 $_FILES['picture1']['size']; 
        
        echo 
    $pic_name1 ."<p>";
        
        if(
    $type1 != "image/gif" && $type1 != "image/pjpeg"
        { 
            
    $error[] = "Nur gif und jpeg Dateien dürfen hochgeladen werden."
        } 
        if(
    $size1 "550000"
        { 
            
    $error[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 550 KB!"
        } 
        
        If(empty(
    $error)) { 
        
    move_uploaded_file("$tempname1""../pics/news/$pic_name1");
        
        
    //copy("$tempname", "../pics/news/$pic_name");
        //move_uploaded_file() anstatt copy() bei safe_mode off
        
    echo "Die Datei $pic_name1 wurde erfolgreich hochgeladen!<br><br>";
        } 
        
        else { 
        foreach(
    $error as $meldung
        echo 
    "$meldung<br>"
        } 
        



        
    $tempname2 $_FILES['picture2']['tmp_name']; 
        
    $pic_name2 $_FILES['picture2']['name']; 
        
        
    $type2 $_FILES['picture2']['type']; 
        
    $size2 $_FILES['picture2']['size']; 
        
        echo 
    $pic_name2 ."<p>";
        
        if(
    $type2 != "image/gif" && $type2 != "image/pjpeg"
        { 
            
    $error[] = "Nur gif und jpeg Dateien dürfen hochgeladen werden."
        } 
        if(
    $size2 "550000"
        { 
            
    $error[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 550 KB!"
        } 
        
        If(empty(
    $error)) { 
        
    move_uploaded_file("$tempname2""../pics/news/$pic_name2");
        
        
    //copy("$tempname", "../pics/news/$pic_name");
        //move_uploaded_file() anstatt copy() bei safe_mode off
        
    echo "Die Datei $pic_small_name wurde erfolgreich hochgeladen!<br>";
        } 
        
        else { 
        foreach(
    $error as $meldung
        echo 
    "$meldung<br>"
        } 
        
    //End of Uploading Image 

  2. #2
    TP-Senior CharlyB ist auf einem guten Weg Avatar von CharlyB
    Registriert seit
    May 2002
    Ort
    DD
    Beiträge
    232
    Moin,

    naja damit es ein wenig schöner wird, kannst du die ganze Upload-Funktion in eine Funktion stecken und nur diese mit entsprechenden Parametern aufrufen.
    PHP-Code:
    function uploadFile($tmpFileName) {
        
    $tempname1 $_FILES[$tmpFileName]['tmp_name']; 
        
    $pic_name1 $_FILES[$tmpFileName]['name']; 
        
        
    $type1 $_FILES[$tmpFileName]['type']; 
        
    $size1 $_FILES[$tmpFileName]['size'];  

        if(
    $type1 != "image/gif" && $type1 != "image/pjpeg"
        { 
            
    $error[] = "Nur gif und jpeg Dateien dürfen hochgeladen werden."
        } 
        if(
    $size1 "550000"
        { 
            
    $error[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 550 KB!"
        } 
        
        If(empty(
    $error)) { 
        
    move_uploaded_file("$tempname1""../pics/news/$pic_name1");
        
        
    //copy("$tempname", "../pics/news/$pic_name");
        //move_uploaded_file() anstatt copy() bei safe_mode off
        
    echo "Die Datei $pic_name1 wurde erfolgreich hochgeladen!<br><br>";
        } 
        
        else { 
        foreach(
    $error as $meldung
        echo 
    "$meldung<br>"
        }  
    }


    //Funktionsaufruf
    uploadFile('picture1');
    uploadFile('picture2'); 
    Ob das mit der Übergabe so funktioniert wäre zu testen, ich sehe da aber eigentliche keine Probleme.

    Jan
    school-fellows.net << jetzt noch besser, da Testaccount

    Blog

  3. #3
    TP-Senior bigtail macht alles soweit korrekt Avatar von bigtail
    Registriert seit
    Apr 2003
    Beiträge
    252
    Besten Dank für die Antwort.

    Ja, es klappt wunderbar.

    Nur eins verstehe ich trotzdem nicht:
    PHP-Code:
    //Funktionsaufruf 
    uploadFile('picture1'); 
    uploadFile('picture2'); 
    Ich hätte gedacht, dass ich statt 'picture1' folgendes schreiben muss: $_FILES['picture1']

    Also z.B.:
    PHP-Code:
    uploadFile($_FILES['picture1']); 
    Es funktioniert aber mit nur 'picture1'. Wie geht das?? Ich meine, woher bekommt 'picture1' seinen Wert?? Das ist doch keine Variable?
    Ich hoffe, du verstehst, was ich damit meine.

    Gruß

  4. #4
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von bigtail
    Es funktioniert aber mit nur 'picture1'. Wie geht das?? Ich meine, woher bekommt 'picture1' seinen Wert?? Das ist doch keine Variable?
    Ich hoffe, du verstehst, was ich damit meine.

    Gruß
    Schau Dir mal die ersten 4 Zeilen der Funktion an, da siehst Du doch, daß das $_FILES hinzugefügt wird. Wenn Du $_FILES['dateiname'] übergibst, dann macht die Funktion daraus $_FILES[$_FILES['dateiname']] und das kann ja wohl nicht gehen

  5. #5
    TP-Senior bigtail macht alles soweit korrekt Avatar von bigtail
    Registriert seit
    Apr 2003
    Beiträge
    252
    Genau! Jetzt habe ich es geschnallt!

    100000000000000000 Dank.

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51