Ankündigung

Einklappen
Keine Ankündigung bisher.

Image name nach Rename in MySQL Db speichern

Einklappen

Neue Werbung 2019

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

  • Image name nach Rename in MySQL Db speichern

    Hallo Communty,

    ich würde gerne den Pfad meiner bilder nachden ich die hoch geladen und unbenannt habe in eine Datenbank speichern jedoch habe ich keinen ansatz wie ich den neuen Pfad herausfinde und in die Db speicher.

    Würde mich um Tipps freuen wie ich das anstellen kann.

    Hier einmal mal Script bisher:

    PHP-Code:
    $images = array ($_FILES['image01']['name'], $_FILES['image02']['name'], $_FILES['image03']['name'], $_FILES['image04']['name'], $_FILES['image05']['name'], $_FILES['image06']['name'], $_FILES['image07']['name'], $_FILES['image08']['name'], $_FILES['image09']['name'], $_FILES['image10']['name'], $_FILES['image10']['name'], $_FILES['image11']['name'], $_FILES['image12']['name'], $_FILES['image13']['name'], $_FILES['image14']['name'], $_FILES['image15']['name']);
     
    $images_tmp = array ($_FILES['image01']['tmp_name'], $_FILES['image02']['tmp_name'], $_FILES['image03']['tmp_name'], $_FILES['image04']['tmp_name'], $_FILES['image05']['tmp_name'], $_FILES['image06']['tmp_name'], $_FILES['image07']['tmp_name'], $_FILES['image08']['tmp_name'], $_FILES['image09']['tmp_name'], $_FILES['image10']['tmp_name'], $_FILES['image10']['tmp_name'], $_FILES['image11']['tmp_name'], $_FILES['image12']['tmp_name'], $_FILES['image13']['tmp_name'], $_FILES['image14']['tmp_name'], $_FILES['image15']['tmp_name']);

    $button_name1    =    $_POST['button_name1'];
    $button_name2    =    $_POST['button_name2'];
    $button_name3    =    $_POST['button_name3'];
    $button_name4    =    $_POST['button_name4'];
    $button_name5    =    $_POST['button_name5'];

    $button_url1    =    $_POST['button_url1'];
    $button_url2    =    $_POST['button_url2'];
    $button_url3    =    $_POST['button_url3'];
    $button_url4    =    $_POST['button_url4'];
    $button_url5    =    $_POST['button_url5'];


    for(
    $i=0$i count($images); $i++)
       {    
    $path "user/".$name."/items";
    $handle opendir($path);
    $filecount 0;
          while (
    $res  readdir($handle)) {
            if (
    is_dir($res)) {
            } else {
              
    $filecount++;
            }
          };

    if(
    $images[$i] > )
        {
      
    $pathinfo pathinfo($images[$i]);
      
    $extension $pathinfo['extension'];
      
      if (
    $extension == "jpg")
        {    
            
    $jpg ".jpg";
            
    $new_name $filecount 1;
            
    $new_file_name=$new_name.$jpg;    
        }
        elseif (
    $extension == "png")
        {
            
    $png ".png";
            
    $new_name $filecount 1;
            
    $new_file_name=$new_name.$png;
        }
        elseif (
    $extension == "gif")
        {    
            
    $gif ".gif";
            
    $new_name $filecount 1;
            
    $new_file_name=$new_name.$gif;
        }
        
        
    move_uploaded_file($images_tmp[$i], 'user/'.$name.'/items/'.$new_file_name);
        
        }
    else{
        
        }
       }

    $eintrag "INSERT INTO artikel(user, button_name1, button_name2, button_name3, button_name4, button_name5, button_url1, button_url2, button_url3, button_url4, button_url5)VALUES('$name', '$button_name1', '$button_name2', '$button_name3', '$button_name4', '$button_name5', '$button_url1', '$button_url2', '$button_url3', '$button_url4', '$button_url5')";
    $eintragen mysql_query($eintrag); 


  • #2
    Den Pfad zu den Bilder hast Du doch selbst vorgegeben:
    PHP-Code:
    move_uploaded_file($images_tmp[$i], 'user/'.$name.'/items/'.$new_file_name); 
    Den Teil kannst doch auch in die DB schreiben?!
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      ja aber wie bekomme ich den pfad von mehren bildern in eine oder mehrere Variablen damit ich die in die db speichern kann

      ich kann ja nicht einfach in die schleife

      PHP-Code:

      $pfad1 
      $new_file_name;
      $pfad2 $new_file_name
      schreiben da gibt der mir die bilder nach einander aus sprich 1.jpg2.jpg3.jpg...

      ich bräuchte aber die 1.jpg 2.jpg 3.jpg usw. jewals in einer einzlnen Variable oder so damit dich das in die db speichern kann gehe ich mal von aus

      Kommentar


      • #4
        Arrays
        PHP-Code:
        $bilder = array();
        while(...) 
        $bilder[] = $aktuellerPfad $aktuellesBild;

        foreach(
        $bilder as $bild// schreibe $bild in datenbank; 
        Competence-Center -> Enjoy the Informatrix
        PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

        Kommentar


        • #5
          Du durchläufst doch schon alle Bilder in einer Schleife d.h. bei jedem Schleifendurchlauf hast du den aktuellen Pfad zum Bild welches gerade dran ist.

          Dann machst du eben nach move_uploaded_file noch für jedes Bild ein INSERT SQL Statement und gut ist. Wozu in einem Array speichern und dann später nochmal durchlaufen?
          "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

          Kommentar


          • #6
            Hast recht:
            DB-Verbindung vor Schleife öffnen -> In der Schleife Daten schreiben -> nach Schleife DB-Verbindung schliessen.

            Logisch...
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Zitat von Dark Guardian Beitrag anzeigen
              Du durchläufst doch schon alle Bilder in einer Schleife d.h. bei jedem Schleifendurchlauf hast du den aktuellen Pfad zum Bild welches gerade dran ist.

              Dann machst du eben nach move_uploaded_file noch für jedes Bild ein INSERT SQL Statement und gut ist. Wozu in einem Array speichern und dann später nochmal durchlaufen?
              Weil man dann mit einem INSERT Statement auskommt anstatt mit 15.
              @fschmengler - @fschmengler - @schmengler
              PHP Blog - Magento Entwicklung - CSS Ribbon Generator

              Kommentar


              • #8
                Weil man dann mit einem INSERT Statement auskommt anstatt mit 15.
                Wie das?
                Du durchläufst doch auch das Array und bildest für jeden Wert einen INSERT oder nicht?
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Zitat von Arne Drews Beitrag anzeigen
                  Wie das?
                  Du durchläufst doch auch das Array und bildest für jeden Wert einen INSERT oder nicht?
                  MySQL kann mehr als einen Datensatz pro INSERT schreiben:

                  Code:
                  INSERT INTO table(field1, field2) VALUES (
                   (value1_1, value1_2), 
                   (value2_1, value2_2),
                   ....
                  )
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Wenn man es so macht, natürlich nicht Aber ich würde aus dem Array mit einem entsprechenden join() Aufruf ein Statement der Form INSERT INTO x (s,t,u) VALUES (s1,t1,u1),(s2,t2,u2),...,(sn,tn,un) machen
                    @fschmengler - @fschmengler - @schmengler
                    PHP Blog - Magento Entwicklung - CSS Ribbon Generator

                    Kommentar


                    • #11
                      Ja klar, Ihr habt natürlich Recht!
                      Daran hab' ich nicht gedacht, weil noch nie verwendet...
                      Competence-Center -> Enjoy the Informatrix
                      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                      Kommentar


                      • #12
                        Zitat von fab Beitrag anzeigen
                        Weil man dann mit einem INSERT Statement auskommt anstatt mit 15.
                        Eine Zwischenspeicherung als Array ist nach wie vor nicht erforderlich da man dne Query sowieso direkt in der For-Schleife zusammenbauen kann und hinterher als ganzes ausführt.

                        Aber wenn ich mir den Code ansehe erscheint zumindest eine Diskussion über das "wie" man den Query nun baut relativ unnötig. ^^
                        "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

                        Kommentar

                        Lädt...
                        X