Hallo,
ich hab folgendes Problem: ich möchte ein bild auf meinen server hochladen, verkleinern und abspeichern. ist ja eigentlich kein problem, da gibt es ja genügend skripte dazu.
ich gehe jetzt zum testen mal davon aus, dass das bild schon auf dem server ist und will ich einfach einen thumbnail erzeugen und abspeichern, dazu nutze ich folgendes skript:
<?
$PicPathIn="original/"; // Pfad Original Bilder
$PicPathOut="upload/"; // Pfad kleine Bilder
$picbreite = 100; // 100 Pixel soll Bild breit sein
###
// Orginalpic
$bild="beispiel.jpg";
// Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=$picbreite;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// Es ist ein 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) {
// Es ist ein JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."tn_"."$bild");
}
if($size[2]==3) {
// Es ist ein 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");
}
###
// AUSGABE
echo "Original Bild: < BR >";
echo "< IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\">< BR >< BR >";
echo "Neue Grösse:< BR >";
$Tumbnail= $PicPathOut."tn_".$bild;
echo "< IMG SRC =\"$Tumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";
?>
Und nun funktioniert es auf meinem Server nicht, aber es funktioniert auf einem anderen - aber warum?
GD funktioniert, d.h. wenn ich es nicht abspeichere sondern nur ausgebe funktionierts - aber das Abspeichern geht eben nicht.
Ist es eventuell möglich, dass ich mich bei meinem Server irgendwie einloggen muss, bevor ich da was hochladen bzw. speichern kann? und wenn ja, wie?
Ich danke euch schon mal ganz sehr für eure Hilfe!
blackmole
ich hab folgendes Problem: ich möchte ein bild auf meinen server hochladen, verkleinern und abspeichern. ist ja eigentlich kein problem, da gibt es ja genügend skripte dazu.
ich gehe jetzt zum testen mal davon aus, dass das bild schon auf dem server ist und will ich einfach einen thumbnail erzeugen und abspeichern, dazu nutze ich folgendes skript:
<?
$PicPathIn="original/"; // Pfad Original Bilder
$PicPathOut="upload/"; // Pfad kleine Bilder
$picbreite = 100; // 100 Pixel soll Bild breit sein
###
// Orginalpic
$bild="beispiel.jpg";
// Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=$picbreite;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
if($size[2]==1) {
// Es ist ein 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) {
// Es ist ein JPG
$altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild");
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe);
ImageJPEG($neuesBild,"$PicPathOut"."tn_"."$bild");
}
if($size[2]==3) {
// Es ist ein 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");
}
###
// AUSGABE
echo "Original Bild: < BR >";
echo "< IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\">< BR >< BR >";
echo "Neue Grösse:< BR >";
$Tumbnail= $PicPathOut."tn_".$bild;
echo "< IMG SRC =\"$Tumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";
?>
Und nun funktioniert es auf meinem Server nicht, aber es funktioniert auf einem anderen - aber warum?
GD funktioniert, d.h. wenn ich es nicht abspeichere sondern nur ausgebe funktionierts - aber das Abspeichern geht eben nicht.
Ist es eventuell möglich, dass ich mich bei meinem Server irgendwie einloggen muss, bevor ich da was hochladen bzw. speichern kann? und wenn ja, wie?
Ich danke euch schon mal ganz sehr für eure Hilfe!
blackmole
Kommentar