Image Manipulation - Headerproblem

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

  • Image Manipulation - Headerproblem

    Hallo liebe Community,

    ich versuche gerade die Bildmanipulationsklasse
    http://www.gen-x-design.com/projects...bnailer-class/
    in mein Script zu integrieren. Leider bekomme ich
    hier eine Header-Fehlermeldung.

    Meine Struktur ist wie folgt:
    Code:
    header.inc.php
    --
    -> includes_once("thumbnail.inc.php");
    -> <html>
    
    main.php
    --
    $thumb = new Thumbnail($tempfoto);
    $thumb->resize(120,120);
    $thumb->save($uploaddir,100);
    
    footer.inc.php
    --
    --> </html>
    Wäre echt klasse, wenn mir jemand sagen kann,
    wie ich diesen Fehler beheben kann.

    Viele Grüße

  • #2
    Re: Image Manipulation - Headerproblem

    Original geschrieben von kerbstone
    Wäre echt klasse, wenn mir jemand sagen kann, wie ich diesen Fehler beheben kann.
    Welchen ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Folgenden:

      Code:
      Warning: Cannot modify header information - headers
       already sent by (output started at /var/www/web165/
      html/v2.0/inc/header.inc.php:4) in /var/www/web165/
      html/v2.0/inc/thumbnailer.inc.php on line 288
      
      �PNG   IHDR�'� PLTE�����^���IDAT8���1
      ��0 `�%sr��SCvW��9Eńr��J@��A�K�
      $�����J|��L�e�^���G�ݤ��q�mH 
      dq��s=�p 3\.H2F��pb>f.msu�a�/�sX�e�
      ["q�T3��&Wy�7м;����%���pn��>�{�
      [>��6��;;g*�@� a �b��ʼn�r� ����e 
      ���i�67^
      �ŰIEND�B`�
      
      Fatal error: Cannot break/continue 1 level in /var/www/
      web165/html/v2.0/inc/thumbnailer.inc.php on line 167

      Kommentar


      • #4
        Du kannst nicht inmitten von HTML-Code plötzlich binäre Bilddaten ausgeben. Hast du dir überhaupt überlegt, ob das Sinn macht?

        Entscheide dich, was du mit deinem Script ausgeben willst: HTML _oder_ Bilddaten. Beides gleichzeitig geht nicht. Zumindest nicht im Internet Explorer. In den anderen Browsern gäbe es eine eher unsaubere Möglichkeit.
        Zuletzt geändert von h3ll; 10.04.2009, 16:01.

        Kommentar


        • #5
          Ich will nur html ausgeben, aber
          das thumbnail script scheint das
          reine autosize direkt mit bildausgabe zu kombinieren...?

          Habe ich eine Möglchkeit die reine Bildkonvertierung
          anzuwenden, ohne Bildausgabe? Wenn ja, wie?

          Kommentar


          • #6
            Frag nicht uns, sondern die Doku zum Script.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ich kenn dein Thumbnail Script nicht und meine Glaskugel funktioniert im Moment auch nicht.

              Kommentar


              • #8
                Genau das habe ich getan und anschließend mich an Euch gewandt. Laut API ist die korrekte Verwendung

                Code:
                include_once('/var/www/.../inc/thumbnailer.inc.php');
                $thumb = new Thumbnail($tempfoto);
                $thumb->resize(120,120);
                $thumb->save($uploaddir,100);
                Gerade dies verursacht aber eine Ausgabe,
                was mich wundert, da ich doch lediglich ein
                Objekt einer Klasse instanziiere und anschließend
                auf Methoden der Klasse zurückgreife, die
                das Bild resizen und nicht darstellen?

                Kommentar


                • #9
                  Frag deine Klasse, was sie macht, nicht uns.

                  Kommentar


                  • #10
                    Gut. danke.

                    Kommentar


                    • #11
                      Du kannst uns auch mal die save-Funktion der Klasse zeigen. Vielleicht enthält sie einen Fehler, oder es sind nicht alle Variablen so gefüllt, wie sie sein sollten.

                      Kommentar


                      • #12
                        Die Save-Funktion ist wie folgt programmiert.

                        Code:
                        public function save($name,$quality=100) {
                            $this->show($quality,$name);
                        }
                        
                        public function show($quality=100,$name = '') {
                        	    switch($this->format) {
                        	        case 'GIF':
                        	            if($name != '') {
                        	                ImageGif($this->newImage,$name);
                        	            }
                        	            else {
                        	               header('Content-type: image/gif');
                        	               ImageGif($this->newImage);
                        	            }
                        	            break;
                        	        case 'JPG':
                        	            if($name != '') {
                        	                ImageJpeg($this->newImage,$name,$quality);
                        	            }
                        	            else {
                        	               header('Content-type: image/jpeg');
                        	               ImageJpeg($this->newImage,'',$quality);
                        	            }
                        	            break;
                        	        case 'PNG':
                        	            if($name != '') {
                        	                ImagePng($this->newImage,$name);
                        	            }
                        	            else {
                        	               header('Content-type: image/png');
                        	               ImagePng($this->newImage);
                        	            }
                        	            break;
                        	    }
                        }

                        Kommentar


                        • #13
                          Sieht soweit korrekt aus - wann immer ein Dateiname angegeben wurde, wird nicht direkt ausgegeben, sondern auf Platte gespeichert.

                          Warum heisst dein Parameter, den du der save-Methode übergibst, $uploaddir - wenn doch ein Dateiname erwartet wird - und was enthält er?
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            Das ist der Pfad, wo das Bild gespeichert werden soll:

                            Code:
                            //Image Speicherort
                            $uploaddir = "/var/www/web165/html/temp/anzeigen/".$zeitcodierung."_".$fotoname;
                            
                            //Image aus Formular
                            $tempfoto=$_FILES['anzeigenfoto']['tmp_name'][$i];

                            Kommentar


                            • #15
                              Ich sehe irgendwie keinen Ansatz einen
                              Fehler auszumachen. Hat vielleicht noch jemand
                              eine Idee?

                              Kommentar

                              Lädt...
                              X