imagefunktionen funktionieren lokal nicht, warum? (GD-Lib an)
Phil
- php
Hi!
Ich hab mal wieder eine kleine Frage:
Ich habe folgendenes Script, was zum Sinn hat, ein Bild einzulesen und entsprechend zu verkleinern:
<?
// Bilddaten feststellen
$size=getimagesize($bild);
$breite=$size[0];
$hoehe=$size[1];
//hier die Breite festlegen
$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// GIF
$altesBild=ImageCreateFromGIF($bild);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageGIF($neuesBild);
}
elseif($size[2]==2) {
// JPG
$altesBild=ImageCreateFromJPEG($bild);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild);
}
elseif($size[2]==3) {
// PNG
$altesBild=ImageCreateFromPNG($bild);
$neuesBild=ImageCreate($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe);
ImagePNG($neuesBild);
}
?>
Dabei wird $bild über einen Parameter übergeben und die Weiche greift. Dennoch wird das Script ausgeführt, es gibt auch keine Fehler, aber ein Bild bekomme ich dennoch nicht.
Die Bilder werden richtig einlesen, was ich damit gecheckt hab, ob der überhaupt Höhe, Breite und Typ ausliest (tut er).
Online funktioniert das Script wunderbar, nur lokal nicht.
Ich habe die php.ini-recommend (PHP 4.3.2) ohne Änderungen (ausser, dass alle Module geladen auskommentiert sind, also geladen werden) übernommen, die httpd.conf (Apache 1.3.x, keine Ahnung welche genau, die neuste eben) habe ich nur auf PHP getrimmt.
Mein Apache läuft auf einer Win2k-Kiste und läuft als Service...
So, nu fallen mir keine Infos mehr ein, hoffentlich könnt ihr mir sagen, was ich falsch mache? Wenn ja, bin ich für jede Hilfe dankbar!
CU
Phil
Sorry, haber vergessen zu sagen, dass ich weiß, dass gif nicht mehr unterstützt wird, aber ich habe als Exempel ein jpg-Bild :)
Falls du das neue Bild direkt ausgeben willst, müßtest du vorher noch einen Header senden. Dann sollte es eigentlich funktionieren...
Für JPEGs wäre das:
header("Content-type: image/jpeg");
Pack den am besten mit in die Fallunterscheidung, um je nach Bildtyp den entsprechenden Header senden zu können.
Habs...
register_globals mal wieder...
Wenn $bild aus der adressleiste gelesen werden soll, muss es nicht $bild, sondern $_GET['bild'] sein..
Danke für deine Hilfe
CU
Phil
http://www.yubb.de - Die Webmaster-Community