• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Erstelltes Bild wird nicht angezeigt, jedliglich der Pfad zur Datei ...

Hesoyam

Neues Mitglied
Hallo,

ich arbeite derzeit an einem Bilder-Uploadscript.
Derzeit arbeite ich an der Möglichkeit vom hochgeladenen Bild einen Thumbnail zu erstellen.

Aber leider habe ich ein kleines Problem.

Anstattss das Bild angezeigt wird, wird der Pfad zur Datei angezeigt.
Siehe hier: Link entfernt
Aber eigentlich sollte das angezeigt werden:

thumb_4b0dada560e14_2.jpg


Ich versteh einfach nicht, warum es nicht richtig angezeigt wird ...
 
Zuletzt bearbeitet:
Ach sry xD
Ich wusste doch, dass ich was vergessen hab xD die eile ... xD

PHP:
<?php
    class cropImage {
    
        var $imgSrc , $myImage , $cropHeight , $cropWidth , $x , $y , $thumb ; 
        function setImage ( $image )
        {

            //Your Image
            $this -> imgSrc = $image ;

            //getting the image dimensions
            list( $width , $height ) = getimagesize ( $this -> imgSrc );
            
            $endung = substr($image,-4);
            $name = substr($image,0,-4);
            $endung_ = substr($endung,1);
            switch($endung_){
                case 'jpg':
                    $this -> myImage = imagecreatefromjpeg ( $this -> imgSrc ); #or die( "Error: Cannot find image!" );
                    break;
                case 'png':
                    $this -> myImage = imagecreatefrompng ( $this -> imgSrc ); #or die( "Error: Cannot find image!" );
                    break;
            }

            if( $width > $height ) $biggestSide = $width ; //find biggest length
            else $biggestSide = $height ;

            //The crop size will be half that of the largest side
            $cropPercent = .5 ; // This will zoom in to 50% zoom (crop)
            $this -> cropWidth = $biggestSide * $cropPercent ;
            $this -> cropHeight = $biggestSide * $cropPercent ;


            //getting the top left coordinate
            $this -> x = ( $width - $this -> cropWidth )/ 2 ;
            $this -> y = ( $height - $this -> cropHeight )/ 2 ;

        } 
        function createThumb ()
        {

            $thumbSize = 60 ; // will create a 250 x 250 thumb
            $this -> thumb = imagecreatetruecolor ( $thumbSize , $thumbSize );

            imagecopyresampled ( $this -> thumb , $this -> myImage , 0 , 0 , $this -> x , $this -> y , $thumbSize , $thumbSize , $this -> cropWidth , $this -> cropHeight );
        } 
        function renderImage ( $src )
        {

            $endung = substr($src,-4);
            $name = substr($src,0,-4);
            $endung_ = substr($endung,1);
            switch($endung_){
                case 'jpg':
                    header ( 'Content-type: image/jpeg' );
                    imagejpeg ( $this -> thumb , 'thumb_'.uniqid().'_'.$name.$endung , 100);
                    break;
                case 'png':
                    header ( 'Content-type: image/png' );
                    imagepng ( $this -> thumb , 'thumb_'.uniqid().$name.$endung , 100);
                    break;
            }
            imagedestroy ( $this -> thumb );
        } 
    } 
    $src = $_GET['src'];
    $image = new cropImage ;
    $image -> setImage ( $src );
    $image -> createThumb ();
    $image -> renderImage ( $src ); 
?>
 
Das das Bild nicht ausgegeben wird liegt daran, weil imageEXT 2 Werte hat. Dann wird es in Wert 2 als Datei ausgelagert, anstatt direkte Ausgabe.

Lösung: den zweiten Wert (Pfadangabe) entfernen.
PHP:
imagejpeg ( $this -> thumb );
imagepng ( $this -> thumb );
Damit sollte das Bild direkt ausgegeben, jedoch nicht mehr gespeichert werden.

Mfg
 
Zurück
Oben