Falsche Bilddarstellung mit PhP script

LosHunos

Grünschnabel
dachte ist vieleicht besser das ganze script zu haben aber wie du willst
Code:
include ("config.inc.php");

$heute_datum = datum($wechsel);
$bild = get("./daten.dat",$heute_datum);

if ($pfad_bilder[strlen($pfad_bilder)-1] != '/') $pfad_bilder .= '/';

if ($url_bilder[strlen($url_bilder)-1] != '/') $url_bilder .= '/';

$PicPathIn = $pfad_bilder;
$PicPathOut = $pfad_bilder;

if ($bild) {

if (!file_exists("$PicPathOut"."TN_"."$bild")) {
// Bilddaten feststellen
$size=getimagesize($PicPathIn."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);

if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF($PicPathIn."$bild");
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,
$neueBreite,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild,"$PicPathOut"."TN_"."$bild");
}

if($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG($PicPathIn."$bild");
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,
$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."TN_"."$bild");
}

if($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG($PicPathIn."$bild");
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,
$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild,"$PicPathOut"."TN_"."$bild");
}

}


$Thumbnail=$url_bilder."TN_".$bild;

echo "document.write('<script language=\"JavaScript\">function blank(url){ MeinFenster = window.open(url, \"thumbnail\", \"width=640,height=480,scrollbars\"); MeinFenster.focus();}</script> ');";

echo "document.write('<a href=\"javascript:blank(\'".$haupt_url."/show_new.php\')\"><img src=\"".$Thumbnail."\" border=\"0\"></a><br>');";
}
else
{
if ($wechsel == "n") $fuer = "f&uuml;r den Monat $heute_datum";
if ($wechsel == "z") $fuer = "f&uuml;r den Tag $heute_datum";
if ($wechsel == "w") $fuer = "f&uuml;r die Woche $heute_datum";

echo "document.write('<font size=\"1\">Kein Bild $fuer definiert.<br></font>');";
}
echo "document.write('<font size=\"1\">powered by <a href=\"http://www.osmodia.de\" target=\"_blank\">Osmodia.de</a></font>');";


function datum ($wechsel) {
         if ($wechsel == 'w') {
             $zahl = strftime("%U");
         }
         else
         {
             $zahl = date($wechsel);
         }
         return $zahl;
}

function get ($file,$wat) {
        if (!file_exists($file)) {
                $datei = @fopen($file,"w+");
                fclose($datei);
        }

        $lines = file($file);

        $fp = @fopen($file, "r");
        flock($fp,2);
        foreach ($lines as $line) {
                if ($line) {
                        $line2 = explode("|",$line);
                        if ($line2[0] == $wat) {
                                $export = $line2[1];
                        }
                }
        }
        flock($fp,3);
        fclose($fp);
        return $export;
}

?>
 
Zuletzt bearbeitet:
Hallo

Das problem liegt an imageCreate(); wenn du imagecreatetruecolor() verwendest solls besser sein.

Ich würde dir empfehlen, dass du zum thumbnailing keine gd-lib benutzt - sondern image-magick - das setzt aber vorraus, dass es auf dem server installiert sein muss - was aber bei vielen linux-distributionen oft mitinstalliert wird - also probieren. Mit diesem programm kannst du auch noch viele tolle dinge anstellen - siehe manual :).

bye
Fred
 
Zurück