function bilden für upload

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

  • #16
    Habe jetzt mein Skript folgendermassen geädert:

    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;
                                if(
    is_uploaded_file($_FILES['bild'][$i]) &&
                                
    copy($_FILES['bild']['tmp_name'][$i], $upload_path.$filename));}    
            else {echo(
    "Falscher Datei-Typ");}
        }else{echo(
    "Kein Bild zum Upload!");}
    }; 
    Aber es funzt trotzdem nicht! (Auch mit move_uploaded_file anstatt copy geht es nicht!)

    Bin am verzweifeln!
    Gruß
    Baschi

    Kommentar


    • #17
      Hat sich erledigt, Du hattest recht!

      Danke für die Hilfe!
      Gruß
      Baschi

      Kommentar


      • #18
        Sag mal, wenn ich jetzt 2 Bilder uploade, und deren Namen in eine DB eintragen will, wie mache ich das denn?

        Denn $filename wird ja bei jedem durchlauf der for-Schleife neu gesetzt!
        Gruß
        Baschi

        Kommentar


        • #19
          naja,

          Sag mal, wenn ich jetzt 2 Bilder uploade, und deren Namen in eine DB eintragen will, wie mache ich das denn?
          Denn $filename wird ja bei jedem durchlauf der for-Schleife neu gesetzt! [/B]
          dann schreibs doch pro durchlauf in die db

          hiermit

          if("image/pjpeg" == $_FILES['bild']['type'][$i])
          wirst du nicht glücklich werden, weil der type je nach browser! anders lautet, images/pjpeg, images/jpeg, ...

          echt.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #20
            Original geschrieben von derHund

            wirst du nicht glücklich werden, weil der type je nach browser! anders lautet, images/pjpeg, images/jpeg, ...

            echt.
            Was für eine Überprüfung sollte ich denn dann nehmen?
            Gruß
            Baschi

            Kommentar


            • #21
              Original geschrieben von baschi
              Was für eine Überprüfung sollte ich denn dann nehmen?
              z.b. getimagesize() - das liefert dir auch den typ des bildes zurück.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #22
                Gute Idee, aber leider bekomme ich das nicht hin!

                Kann sein, daß ich einfach auf dem Schlauch stehe:

                PHP-Code:
                getimagesize($_FILES['bild'][$i],$size);
                    
                print_r($size); 
                gibt ein leeres Array zurück!
                Gruß
                Baschi

                Kommentar


                • #23
                  Schon klar, muss aus

                  PHP-Code:
                  $_FILES['bild']['tmp_name'][$i
                  die Daten holen!
                  Gruß
                  Baschi

                  Kommentar


                  • #24
                    Moin,

                    ich habe da nochmal ne Frage zu ImageCreateTrueColor und zwar habe ich in mein Skript nun die Funktion drin, daß die Größe des Bildes geädert wird!

                    Aber die Datei größe (Bytes) bleibt gleich!

                    Gibt es da eine Möglichkeit diese zu verkleinern?

                    Beispiel:

                    Ich habe eine Datei hochgeladen, die im Orig 1055x812 ist und 134 Kb hat, mittels des Skriptes wird diese auf 485x373 verkleinert, aber die Datei ist immernoch 134 Kb gross!

                    Hier mein Skript:

                    PHP-Code:
                    for ( $i 0$i count ($_FILES['bild']); $i++){
                      
                    $size getimagesize($_FILES['bild']['tmp_name'][$i]);
                        if(
                    $_FILES['bild']['size'][$i] != 0){
                            if(
                    $size['mime'] == "image/jpeg"){
                                    
                    $extension ".jpg";
                                        
                    $filename[$i] = "your_resized_" uniqid(1) . $extension;
                                                
                    move_uploaded_file($_FILES['bild']['tmp_name'][$i], $upload_path.$filename[$i]);
                                                
                                                
                    //resize
                                                
                    $size getimagesize($upload_path.$filename[$i]); 
                                                
                    $breite $size[0]; 
                                                  
                    $hoehe $size[1]; 
                                                  
                    $neueBreite 485
                                                  
                    $neueHoehe intval($hoehe*$neueBreite/$breite);     
                            
                                                
                    $altesBild=ImageCreateFromJPEG($upload_path.$filename[$i]); 
                                                  
                    $neuesBild=ImageCreateTrueColor($neueBreite,$neueHoehe); 
                                                  
                    ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
                                                
                    $neueHoehe,$breite,$hoehe); 
                                                  
                    ImageJPEG($neuesBild,$upload_path."resized_".$filename[$i]);

                                                
                                                
                                                }    
                                                
                            else {echo(
                    "Bitte nur JPG Dateien hochladen!");}
                        }else{echo(
                    "");}


                    }; 
                    Danke für die Hilfe!!!

                    Gruß
                    Baschi
                    Gruß
                    Baschi

                    Kommentar


                    • #25
                      kurz im forum suchen und fertig....

                      http://www.php-resource.de/forum/sho...ight=thumbnail

                      http://www.php-resource.de/forum/sho...ight=thumbnail

                      http://www.php-resource.de/forum/sho...ight=thumbnail

                      warum muss man immer für euch suchen? warum könnt ihr das nciht selber?
                      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


                      • #26
                        Wie Du vielleicht gesehen hast, ist die Erstellung des kleineren Bildes in meinem Skript schon realisiert!

                        Ich möchte allerdings die Datei-Größe (Bytes) verkleinern und konnte dazu in den von Dir angegebenen Links nichts finden!

                        Sorry, daß ich mich etwas anstelle, aber ich bin halt kein Profi!
                        Gruß
                        Baschi

                        Kommentar


                        • #27
                          auch wenn du deine verkleinerung schon hast, so kannst du immer noch in den anderen scripts schauen, wie dort gespeichert wird.

                          evtl. lassen sich auch anderen sachen für dich postiv anwenden. schaue es dir noch einmal genau an.

                          und das nur keine profi bist, ist auch nciht weiter schlimm. ich bin ja auch keiner. ich kann nur mehr, weil ich mich mit den problemen auseinandersetze ...

                          aber grundsätzlich gilt hier schon, tipps ok aber gleich soviel code. nein.

                          und nun zurück zum thema.... wie ich schon geschrieben habe ... schaue dir mal die posts dort genau(er) an.
                          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


                          • #28
                            Ok, auch auf die Gefahr hin, daß ich als DOOF dargestellt werden:

                            Ich finde da nichts passendes!

                            Sag mir doch bitte, mit welcher Funktion ich das machen kann, den Rest finde ich schon selber!

                            Das einzige, was ich gefunde habe ist imagecopyresampled!
                            Ist es das?

                            DANKE!
                            Zuletzt geändert von baschi; 15.10.2003, 22:01.
                            Gruß
                            Baschi

                            Kommentar


                            • #29
                              naja,

                              Das einzige, was ich gefunde habe ist imagecopyresampled!
                              Ist es das?
                              das ist imho nur ein alias für ähm dings hier ... resized

                              wenn ich mich richtig erinner, kannst du beim speichern per
                              Code:
                               imagejpeg (das_bild, der_pfad, die_quali_von_0_bis_100)
                              die qualität beeinflussen. dadurch sollte sich auch die dateigröße reduzieren, meine ich.
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar


                              • #30
                                hmmm ich glaube, du hast ein problem:

                                die gute nachricht:
                                dein code funktioniert reibungslos, zumindest der teil zwischen:
                                PHP-Code:
                                if($size['mime'] == "image/jpeg"){
                                ...

                                unter php4.1/gd1.6 bzw. php4.3/gd2 läuft der kern des scriptes ohne
                                probleme. ein 240kb grosses bild wird auf 20kb verkleinert

                                die schlechte nachricht:
                                offenbar nicht bei dir

                                um den fehler einzukreisen, nimm mal ein jpeg, lad es per ftp in einen ordner mit schreibrechten und lass das mal laufen:
                                PHP-Code:
                                <?
                                $imsrc = "test.jpg";

                                $size = getimagesize($imsrc);
                                $breite = $size[0];
                                $hoehe = $size[1];
                                $neueBreite = 485;
                                $neueHoehe = intval($hoehe*$neueBreite/$breite);
                                        
                                $altesBild=ImageCreateFromJPEG($imsrc);
                                $neuesBild=ImageCreateTrueColor($neueBreite,$neueHoehe);
                                ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
                                $neueHoehe,$breite,$hoehe);
                                ImageJPEG($neuesBild,"resized_".$imsrc);
                                echo "<img src=\"resized_".$imsrc."\">";
                                ?>
                                a) wenn du immer noch ein thumb erzeugst mit derselben datei-ausgangsgrösse würde ich mal mit dem provider reden
                                b) sollte das einwandfrei laufen, liegt dein problem woanders. evtl hilft es, erst alle bilder upzuloaden und dann erst zu resizen.

                                @derHund
                                - die qualitätseinstellung bei imagejpeg ist optional. logischerweise wird dadurch die dateigrösse beeinflusst allerdings gibt es einen
                                defaultwert von 80 (100 ist die topqualität mit geringster kompression)
                                - imagecopyresampled liefert "etwas" bessere ergebnisse als imagecopyresized und ist imho ab gd2 vorzuziehen
                                Kissolino.com

                                Kommentar

                                Lädt...
                                X