Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrere Bilder auf einmal Hochladen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrere Bilder auf einmal Hochladen

    Hi, ich möchte gern einige bilder auf einmal Hochladen. Ohne andere Daten zu verändern. Jedoch möchte ich, dass die Bilder nacheinander angezeigt werden.
    Hier ein Screenshot + wie ich mir das gedacht habe->upload.png.

    Also meine Überlegung war in einen Array die Daten nacheinander einzutragen und erst an der Stelle wo noch kein Bild ist, eines einzutragen.

    2 Probleme:
    1.
    Bei meinem Versuch wird der Array immer wieder neu erstellt. Und ich weis nicht wie ich denn gesamten Array wieder bekomme wenn ich ein neues Bild uploade.

    2.
    Wenn ich vorher Daten eintrage werden diese bei jedem neuen Upload gelöscht. Muss ich da bei jedem neuen Upload die Daten mitsenden oder geht das irgendwie anders.

    Meine zweite Überlegung war mit einer temporären Tabelle in der Datenbank.
    Aber gibt es da irgendwelche besseren möglichkeiten.

    So hab ichs bis jetzt versucht aber das 1.Bild wird immer nur ausgewechselt. Eben weil der Array immer wieder neu erzeugt wird.
    PHP-Code:
                            $imgArr = array();

                            
    $isPlaced false;
                            for (
    $i 0$i 10$i++) {

                                echo 
    "<div class='item' id='item" $i "'>";
                                echo 
    "<a onmouseup='removeImg(" $i ")' href='' id='remove" $i "' class='removeButton'/>x</a>";
                                if (!isset(
    $_FILES['uploadImage'])) {
                                    echo 
    "<img id='fileImage' src='../images/Auftritte/noPic.png' width='70'/>";
                                } else {

                                    if (!isset(
    $imgArr[$i]) && $isPlaced == FALSE) {
                                        echo 
    "<img id='fileImage' src='../images/Auftritte/" $time "_" $_FILES["uploadImage"]["name"] . "' width='70'/>";
                                        
    $imgArr[$i] = "../images/Auftritte/" $time "_" $_FILES['uploadImage']['name'];
                                        
    $isPlaced true;

                                    } else if (isset(
    $imgArr[$i])) {
                                        echo 
    "<img id='fileImage' src='" $imgArr[$i] . "' width='70'/>";
                                    }
                                    if (
    $isPlaced == true && !isset($imgArr[$i])) {
                                        echo 
    "<img id='fileImage' src='../images/Auftritte/noPic.png' width='70'/>";
                                    }
                                }

                                echo 
    "</div>";
                            } 
    Für Hilfe wäre ich euch sehr dankbar.

    Lg Flo

  • #2
    Zunächst mal musst Du bedenken, daß die UploadFiles erstmal in einem Temp-Verzeichnis abgelegt werden. Du mußt diese erst in ein Verzeichnis Deiner Wahl ablegen. Dann kannst Du bspw. so vorgehen, daß Du das Verzeichnis ausliest und alle Bilder anzeigst, die darin enthalten sind.

    Eine andere Variante wäre ein MultiUpload-Script.

    Alternativ gäbe es noch Ajax-Lösungen, aber die musst Du mal selbst googlen...
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Also irgend ein verzeichnis das mit Bilder gefüllt wird und diese jedesmal auslesen wenn ich ein neues Bild hochlade.
      Gute Idee.
      Aber was soll ich mit den anderen Daten machen.
      Soll ich diese auch irgendwo abspeichern(z.B textdatei) und dann jedesmal erneuern und auslesen wenn ich ein neues Bild hochlade?

      Kommentar


      • #4
        Kann ich Dir nicht beantworten, weil ich nicht verstanden habe, was genau Du damit meinst.
        Welche Dateien (.txt) usw.? Beschreib mal, was Du genau vorhast. Step by Step.
        Deinen Screenshot kann ich nicht downloaden...
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Geht der?
          http://dateiupload.com/6tc

          Kommentar


          • #6
            Kann sein, aber ich hab keine Lust bei FileSharing-Sites irgendwelche Screenshots runterzuladen.
            Versuch mal zu erklären, was Du vor hast...
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Naja hab erstens 3 Textfelder für Name, Ort und Dauer
              Dann hab ich eine Tabelle die sich automatisch erweitert. In diese werden Lieder eingespeichert(Name, Dauer etc.)
              Und noch eine Textarea wo man eine Beschreibung reinschreibt.

              Diese Werte sollen nicht verändert werden.
              Mit dieser seite soll man einfach einen neuen Eintrag erzeugen können...

              Kommentar


              • #8
                Dann benutzt Du hoffentlich eine Datenbank?
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Ja klar

                  Kommentar


                  • #10
                    Wo ist dann das Problem?
                    Wenn das Formular übertragen wird, die Daten in die DB schreiben und gut is...
                    Den Bildpfad kannst Du dort auch hinterlegen und hast somit alles gelöst.
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar


                    • #11
                      ok ich probiers mal.

                      Kommentar


                      • #12
                        Hab noch ein Problem.

                        Ich möchte gern die Songs mit $_POST
                        in einer for-schleife abrufen.
                        Doch er findet den index von selbst erzeugten textfeldern nicht.

                        Er findet nur die Werte von den geschrieben Textfeldern und nicht die von den mit Javascript erzeugten.

                        Ich wollte die Werte so abrufen.
                        PHP-Code:
                        for ($j 2; isset($_POST['titleName'.$j]); $j++) {
                                                            
                                                            echo 
                        "<tr id='row" $j "'>";
                                                            echo 
                        "<td> " . ($j) . ". </td>";
                                                            echo 
                        "<td>";
                                                            echo 
                        "<input type='text' name='titleName" $j "' value='" $_POST['titleName' $j] . "'/>";
                                                            echo 
                        "</td><td>";
                                                            echo 
                        "<input type='text' name='durationTitle" $j "'value='" $_POST['durationTitle' $j] . "'/>";
                                                            echo 
                        "</td></tr>";
                                                        } 
                        Und so erzeuge ich die Felder erzeuge in der Table.
                        PHP-Code:
                        function addTitleRow() {
                            var 
                        text "";

                            
                        document.getElementById("songId").value parseInt(document.getElementById("songId").value) + 1;
                            
                            var 
                        parseInt(document.getElementById("songId").value);
                            
                        text += "<tr id='row" "'><td> " ". </td><td><input type='text' name='titleName" "'/></td><td><input type='text' name='durationTitle" "'/></td></tr>";
                            $(
                        text).appendTo("#songsTable");

                        Kommentar


                        • #13
                          wieso der Mischmasch aus VanillaJS und JQuery? Was sagt die JavaScriptFehlerkonsole? Hast du überhaupt jQuery eingebunden?
                          Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

                          Kommentar


                          • #14
                            Fehlekonsole sagt nichts.
                            Es kennt z.B. $_POST['titleName2'] nicht auch wenn ich es erzeugt habe.

                            Ja ist eingebunden.
                            Und der mischmasch ist nur weil ich den rest noch nicht auf jquery upgegraded habe.
                            Mit js wurde der Inhalt immer rausgelöscht wenn ich ein neues hinzugefügt habe.
                            Deshalb möchte ich jetzt den großteil auf jquery umändern.

                            Kommentar


                            • #15
                              Kann mir einer sagen wieso er die nicht kennt?

                              Kommentar

                              Lädt...
                              X