[gelöst]Thumbnailproblem

Alles, was PHP betrifft, kann hier besprochen werden.

[gelöst]Thumbnailproblem

Postby benny111 » 21. July 2009 11:44

Ich wollte Thumbnails erstellen und habe mir ein Script geladen, womit es angeblich funktionieren soll!
Die Rechte für die Ordner images und thumbs sind jeweils auf 777, GD ist auf dem Server vorhanden.

Hier der Quelltext:
thumb.php
Code: Select all
<?php

$PicPathIn="../images/";
  $PicPathOut="../images/thumbs/";
  // Orginalbild
  $bild="merkel.jpg";
  // 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");
  }

  echo "Altes Bild: <BR>";
  echo "<IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\">
<BR><BR>";
  echo "Neues Bild:<BR>";
  $Tumbnail=$PicPathOut."TN".$bild;
  echo "<IMG SRC=\"$Tumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">";

?>


Und so sieht es aus: http://20jahrewende.georgenkirche.org/thumb.php
Sieh sehen, das sie nichts an Thumbnail sehen...
Kann mir jemand weiter helfen?
Last edited by benny111 on 22. July 2009 11:05, edited 1 time in total.
benny111
 
Posts: 16
Joined: 02. July 2009 21:46

Re: Thumbnailproblem

Postby Xardas der Dunkle » 21. July 2009 12:11

Ich habe den Code mal aufgeräumt, ... das mit den Strings ist ja wohl grausam gewesen o_O. Und nun funktioniert es bei mir:
Code: Select all
<?php
error_reporting
(E_ALL | E_STRICT);

$PicPathIn  = './';
$PicPathOut = './';

// Orginalbild
$bild       = 'merkel.jpg';

// 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);
}

echo 'Altes Bild: <br />';
echo '<img src="' . $PicPathIn . $bild . '" width="' . $breite . '" height="' . $hoehe . '" /><br /><br />';
echo 'Neues Bild:<br />';
echo '<img src="' . $PicPathOut . 'TN' . $bild . '" width="' . $neueBreite . '" height="' . $neueHoehe . '" />';
 


Wobei ich es lokal unter Windoof getestet habe.
Hat der Ordner images/thumbs/ den auch die Rechte 777 ? (Welche im Grunde häufig total übertrieben sind ...).
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Thumbnailproblem

Postby benny111 » 21. July 2009 12:46

Danke für den Code!
Er hat fast funktioniert, mit den PicPathIn und PicPathOut hatte er nach deiner Schreibweise krasse Probleme...

Code: Select all
$PicPathIn  = './';
$PicPathOut = './';


Auf dem Server funktioniert es unter der Variante:

Code: Select all
$PicPathIn  = 'images/';
$PicPathOut = 'images/thumbs/';


läuft, danke fein!
benny111
 
Posts: 16
Joined: 02. July 2009 21:46

Re: Thumbnailproblem

Postby Xardas der Dunkle » 21. July 2009 12:48

Er hat fast funktioniert, mit den PicPathIn und PicPathOut hatte er nach deiner Schreibweise krasse Probleme...

Bei mir lag das Merkel Bild nun einmal im selben Verzeichnis ;).

Ähm
Code: Select all
$PicPathIn  'images/';
$PicPathOut 'images/thumbs/'

ist aber nicht:
Code: Select all
$PicPathIn="../images/";
$PicPathOut="../images/thumbs/"
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www

Re: Thumbnailproblem

Postby benny111 » 21. July 2009 12:54

ich weiß, aber mit den 2 Punkten vorher hatte er Probleme... frag mich nicht wie das geht xD
benny111
 
Posts: 16
Joined: 02. July 2009 21:46

Re: Thumbnailproblem

Postby glitzi85 » 22. July 2009 19:10

Xardas der Dunkle wrote:Hat der Ordner images/thumbs/ den auch die Rechte 777 ? (Welche im Grunde häufig total übertrieben sind ...).

Häufig? So gut wie immer (mal nen kompetenten Admin vorausgesetzt). Blöderweise gibt es aber einige Scripts in den weiten des Internets, die nicht prüfen ob sie genügend Berechtigung haben, sonder wirklich prüfen, ob 777 gesetzt ist :evil:

mfg glitzi
User avatar
glitzi85
 
Posts: 1920
Joined: 05. March 2004 23:26
Location: Dahoim

Re: [gelöst]Thumbnailproblem

Postby Xardas der Dunkle » 22. July 2009 19:32

Naja, sollte man echt nur in Notfällen setzen bzw. nur in Entwicklungsumgebungen.
Auf Produktivservern sollte 777 auf jeden Fall vermieden werden. Auch wenn es ohne ACLs manchmal schwierig wird (welche auf einem vServer leider nicht einrichtbar sind :( ).
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www


Return to PHP

Who is online

Users browsing this forum: No registered users and 2 guests