function bilden für upload

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

  • function bilden für upload

    Moin Moin,

    bin zwar kein blutiger Anfänger mehr, hab mich aber bisher noch nicht so sehr mit funktionen beschäftigt, daher folgende Frage:

    Wie bringe ich das unten aufgeführte Skript für mehrere Bilder in eine Funktion?

    PHP-Code:
    if($bild1 != ""){
            if(
    $bild1_type == "image/pjpeg"
            
    or $bild1_type == "image/gif"){
            
            if( 
    "image/pjpeg" == $bild1_type)
            
    $extension1 ".jpg";
            else 
    $extension1 ".gif";

            
    $filename1 "your" $UID "a" $extension1;

            if(
    is_uploaded_file($bild1) &&
            
    copy($bild1$upload_path $filename1)){
            echo(
    "");
            }
            else {echo(
    "Fehler beim upload des Bildes");}
            }else {
            die(
    "<p> Bitte nur JPG oder GIF Dateien hochladen</p>\n");
            }}else {
            
    $filename1 "";} 
            } 
    Das ganze soll mit beliebig vielen Bildern funktionieren!

    Vielen Dank für Eure Mühe!

    Gruß
    Baschi
    Gruß
    Baschi

  • #2
    schaue dir das mal an....

    http://de.php.net/manual/de/features.file-upload.php

    dann kannst du auch erst einmal das ganze ding mit $_FILES schreiben.

    wenn du soweit bist, kannst du dann auch mit mehreren bildern problemlos arbeiten. einfach beim bildnnamen z.b. bild[] im html schreiben.

    somit ist in $_FILES noch eine arrayebene. -> tipp: print_r()
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Original geschrieben von Abraxax
      schaue dir das mal an....

      http://de.php.net/manual/de/features.file-upload.php

      dann kannst du auch erst einmal das ganze ding mit $_FILES schreiben.

      wenn du soweit bist, kannst du dann auch mit mehreren bildern problemlos arbeiten. einfach beim bildnnamen z.b. bild[] im html schreiben.

      somit ist in $_FILES noch eine arrayebene. -> tipp: print_r()
      Hmm, das kenne ich, hab mein Skript ja auch danach erstellt, abgesehen von den Globalen Variablen...

      Aber wenn ich damit jetzt mehrere Bilder hochladen will, dann müsste ich ja den Quelltext beliebig oft wiederholen, damit ich mehrere Bilder hochladen kann!

      Ich habe in meinem Formular die Felder Bild1 Bild2 Bild3 und Bild4, wie mache ich denn das am besten?

      Danke nochmal!

      Ach ja, hier das Skript mit $_FILES

      PHP-Code:
          if($_FILES['bild1'] != ""){
              
      //Datei Typ überprüfen
              
      if($_FILES['bild1']['type'] == "image/pjpeg"
              
      or $_FILES['bild1']['type'] == "image/gif"){
              
              
      //Dateiendung suchen
              
      if( "image/pjpeg" == $_FILES['bild1']['type'])
              
      $extension1 ".jpg";
              else 
      $extension1 ".gif";

              
      //Datei umbenennen in Zeit.Remote_host.extension
              
      $filename1 "your" $UID "a" $extension1;

              
      //Datei in den Uploadordner kopieren
              
      if(is_uploaded_file($_FILES['bild1']) &&
              
      copy($_FILES['bild1'], $upload_path $filename1)){
              echo(
      "");
              }
              
      //Sollte beim uploaden ein Fehler auftreten!
              
      else {echo("Fehler beim upload des Bildes");}
              }else {
              die(
      "<p> Bitte nur JPG oder GIF Dateien hochladen</p>\n");
              }}else {
              
      $filename1 "";} 
              } 
      Gruß
      Baschi

      Kommentar


      • #4
        1. du sollst nicht bild1, bild2 usw, sondern bild[] schreiben.
        2. solltest du dann print_r() auf $_FILES anwenden
        3. macht es wenig sinn copy() bei is_uploaded_file() zu verwenden. -> move_uploaded_file()


        punkt 1 kannst du dann mit einer for() auslesen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Original geschrieben von Abraxax
          1. du sollst nicht bild1, bild2 usw, sondern bild[] schreiben.
          2. solltest du dann print_r() auf $_FILES anwenden
          3. macht es wenig sinn copy() bei is_uploaded_file() zu verwenden. -> move_uploaded_file()


          punkt 1 kannst du dann mit einer for() auslesen.
          Ich weiß, daß es vielleicht ein wenig Arbeit macht, aber ich wäre Dir sehr dankbar, wenn Du mir etwas weiterführende Tipps geben könntest!
          Gruß
          Baschi

          Kommentar


          • #6
            gibt es einen bestimmten grund, warum du immer meinen ganzen post zitierst?

            und warum kannst du nicht einmal selber suchen und nachlesen?

            im manual sind bestimmt ein paar beispiele zu finden und im forum sind auch ein paar beispiele dazu vorhanden. nur ohne suche wird das nichts.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Nein, es gibt keinen bestimmten Grund, warum ich zitiere, dann lasse ich es halt!

              Aber ich da auch mal ne Frage: Gibt es einen bestimmten Grund, warum Du so unfreundlich bist?
              Gruß
              Baschi

              Kommentar


              • #8
                du darfst schon zitieren. nur macht es sinn den ganzen post dafür zu nehmen?

                und ich bin nciht unfreundlich. ich habe nur keine lust fragen zu beantworten die bereits mehrfach beantwortet sind. da hilft einfach mal die suche.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Original geschrieben von baschi
                  Nein, es gibt keinen bestimmten Grund, warum ich zitiere, dann lasse ich es halt!
                  du sollst nicht gar nicht zitieren, sondern sinnvoll zitieren.
                  Aber ich da auch mal ne Frage: Gibt es einen bestimmten Grund, warum Du so unfreundlich bist?
                  das kommt dir nur so vor :-)

                  aber wenn jemand hilfreiche tipps und links bekommen hat, und dann trotzdem noch weitere hilfe will, anscheinend ohne sich erstmal selbst drum gekümmert und an den angegebenen stellen nachgelesen zu haben, dann reagieren wir auch schon mal ein wenig ungehaltener ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Original geschrieben von wahsaga
                    [...]dann reagieren wir auch schon mal ein wenig ungehaltener ... [/B]
                    Ok, kann ich verstehen!

                    Ich bin gerade auf der Suche nach einer Lösung für mein Problem und bin nun schon weiter gekommen!

                    PHP-Code:
                    <?
                        
                        function file_upload(){
                        
                        for ( $i = 0; $i < count ( $bild ); $i++)
                        {
                            
                    $upload_path = "www/htdocs/coltde/nl/test/pix/";
                    if($_FILES['bild']['size'][$i] != 0 ){

                    //Datei Typ überprüfen
                    if($_FILES['bild']['type'][$i] == "image/pjpeg"
                        or $_FILES['bild']['type'][$i] == "image/gif"){
                            
                    //Dateiendung suchen
                    if( "image/pjpeg" == $_FILES['bild']['type'][$i])
                    $extension = ".jpg";
                    else $extension = ".gif";


                    //Datei umbenennen in Zeit.Remote_host.extension
                    $filename = "your" . time() . "a" . $extension;

                    //Datei in den Uploadordner kopieren
                    if(is_uploaded_file($_FILES['bild'][$i]) &&
                    move_uploaded_file($_FILES['bild'][$i], $upload_path . $filename)){
                    echo("");
                    }
                    //Sollte beim uploaden ein Fehler auftreten!
                    else {echo("Fehler beim upload des Bildes");}
                    }else {
                    die("<p> Bitte nur JPG oder GIF Dateien hochladen</p>\n");
                    }}else {
                    $filename = "";} 
                            
                            }};

                    ?>
                    Muss aber noch ein weiterer Fehler drin sein, denn im Verzeichnis kommt nichts an, einen Fehler bekomme ich nicht und das Verzeichnis hat genügent rechte!
                    Zuletzt geändert von baschi; 14.10.2003, 12:16.
                    Gruß
                    Baschi

                    Kommentar


                    • #11
                      Warum kommt im Verzeichis nichts an?

                      Moin,

                      folgendes Skript:

                      PHP-Code:

                          $upload_path 
                      "/www/htdocs/coltde/test/upload/pix/";

                      for ( 
                      $i 0$i count $_FILES['bild'] ); $i++){
                              
                          if(
                      $_FILES['bild']['size'][$i] != 0){
                              if(
                      $_FILES['bild']['type'][$i] == "image/pjpeg"
                              
                      or $_FILES['bild']['type'][$i] == "image/gif"){
                                      if(
                      "image/pjpeg" == $_FILES['bild']['type'][$i])
                                      
                      $extension ".jpg";
                                      else 
                      $extension ".gif";
                                              
                      $filename "your" uniqid(1) . $extension;
                      move_uploaded_file($_FILES['bild'][$i], $upload_path.$filename);}
                              else {echo(
                      "Falscher Datei-Typ");}
                          }else{echo(
                      "Kein Bild zum Upload!");}
                      }; 
                      Im Verzeichnis PIX kommt nichts an!

                      Warum?

                      Danke für eure Hilfe!

                      Gruß
                      Baschi
                      Gruß
                      Baschi

                      Kommentar


                      • #12
                        merkst du eigentlich noch wann tag und nacht ist?

                        in diesem thread bist du bereits darauf hingewiesen worden, dass du kein *CROSSPOSTING* zu machen hast. und machst es dennoch.

                        [color=red] merke dir bitte, dass hier keine crosspostings erwünscht sind. [/color]

                        *ZUSAMMENFÜHR*
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          und wo steht hier der origname drin?

                          $_FILES['bild'][$i]

                          richtig. nirgens.

                          denn korrekt heisst es

                          $_FILES['bild'][$i]['name']

                          wenn ich nciht irre
                          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                          Kommentar


                          • #14
                            Hmm, daran lag es leider nicht! Bzw brauche ich den Origname doch nicht, oder?

                            Hat noch jemand ne Idee?

                            Ist wichtig für mich!
                            Gruß
                            Baschi

                            Kommentar


                            • #15
                              oh mann. es ist schon spät....

                              es muss natürlich 'tmp_name' heissen.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X