Ankündigung

Einklappen
Keine Ankündigung bisher.

Bildupload wirft Sonderzeichen aus !?!?

Einklappen

Neue Werbung 2019

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

  • Bildupload wirft Sonderzeichen aus !?!?

    Hallo zusammen,

    Habe eben ein Bildupload-Script aus einer meiner anderen Seiten kopiert, doch wenn ich jetzt was hochladen möchte bekomme ich folgende ausgabe.

    ÿØÿà�JFIF������ÿþ�<=aªx·ÂðÃâ

    Normal funktioniert das Script !? enctype hab ich auch auf "multipart/form-data"

    was kann das denn sein ?

    Vielen Dank schonmal!

    Edit:
    Hier noch mein Snippet:

    PHP-Code:

                
    // bild checken -->>
                
    if($_FILES['bild']['size'] > 0){
                    
                    
    $max 100;
                    
    $hoehe_neu 100;
                    
    $breite_neu 80;
                    
    $pfad "../upload/";
                    
    $qual 100;
                    
                    
    // variablen zuweisen -->>
                    
    $name preg_replace("/[^a-zA-Z0-9.]/","",$_FILES['bild']['name']);
                    
    $size $_FILES['bild']['size'];
                    
    $tmp $_FILES['bild']['tmp_name'];
                    
                    
    // abmnessungen auslesen -->>
                    
    $sizes getimagesize($tmp);
                    
    $breite $sizes[0];
                    
    $hoehe $sizes[1];
                    
    $typ $sizes[2];
                                    
                    
    // resizing -->>
                    
    if($breite $hoehe) { // QUERFORMAT -->>
                        
    $new_breite $max;
                        
    $new_hoehe $hoehe $max $breite;
                    }
                    if(
    $breite $hoehe) { // HOCHFORMAT -->>
                        
    $new_breite $max;
                        
    $new_hoehe $hoehe $max $breite;
                    }
                    
                    
                    
    $im imagecreatefromjpeg($tmp);        
                    
    $new_image imagecreatetruecolor($breite_neu,$hoehe_neu);
                    
    $farbe_body imagecolorallocate($new_image,255,255,255); 
                    
    $r imagecopyresampled($new_image$im0000$new_breite,$new_hoehe$breite$hoehe);
                    
    $check imagejpeg($new_image,$bild_neu$qual);
                            
                    
    // umleiten -->>
                    
    header("Location:ok.php");
                    
                } 
    it´s not a bug - it´s a feature...

  • #2
    ein Bildupload-Script aus einer meiner anderen Seiten kopiert
    Schön, und den Header haste dabei vergessen.
    Immer wieder das selbe

    Kommentar


    • #3
      welchen header ? das bild soll ja eigentlich nicht ausgegeben werden !?

      ich hab jetzt mal die bild erstellen sachen rausgenommen und nur die daten von $_FILES angeschaut:

      array(1) {
      ["bild"]=>
      array(5) {
      ["name"]=>
      string(12) "PICT0106.jpg"
      ["type"]=>
      string(10) "image/jpeg"
      ["tmp_name"]=>
      string(14) "/tmp/phpMAdxNb"
      ["error"]=>
      int(0)
      ["size"]=>
      int(66380)
      }

      scheint doch zu passen, oder ??
      it´s not a bug - it´s a feature...

      Kommentar


      • #4
        1.
        Reicht es, wenn du das nächste mal nur einen Teil vom Bildinhalt hier reinschreibst.
        Bitte nicht gleich alles.

        2.
        Was ist das für ein Code ?
        $r = imagecopyresampled($new_image, $im, 0, 0, 0, 0, $new_breite,$new_hoehe, $breite, $hoehe);
        $check = imagejpeg($new_image,$bild_neu, $qual);
        Welchen Sinn macht $r und $check ?

        3.
        Du solltest den Speicher frei geben, dafür gibt es eine Funktion.
        Siehe PHP-Handbuch GDlib.

        4.
        An welcher Stelle soll diesen Zeichen überhaupt kommen ?
        Im PHP-Quelltext steht nichts von einer Ausgabe etc...
        Diese Zeichen vom Bildinhalt kommen eigentlich nur bei fehlerhaften Ausgaben.

        Kommentar


        • #5
          hi cix88,

          1. ist erledigt!
          2. war nur zum testen, da ich befürchtet habe die Ausgabe kommt dadurch zustande!
          3. hab ich beim anderen Script aber auch nicht gemacht !?
          4. Ich habe auch keine Ausgabe drin !!! Die Zeichen erscheinen nach Upload ganz oben auf der Seite...
          it´s not a bug - it´s a feature...

          Kommentar


          • #6
            Jo dann mach den Speicher wieder frei, wenn das Bild erstellt worden ist.
            Und dann erst zur Seite ok.php springen.

            Wichtig ist nur, dass vor header("Locationk.php") keine Ausgabe erfolgen darf.
            Also weder Leerzeichen, Fehlermeldungen etc...

            Kommentar

            Lädt...
            X