Frage zu Thumbnail-Script

pirate man

Erfahrenes Mitglied
hier ist der code für ein thumbnail-script:
PHP:
  $PicPathIn="../bilder/"; 
  $PicPathOut="../bilder/out/"; 
  // Orginalbild 
  $bild="Foto.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\">";
aber dieses script ist nur für ein bild, da $bild den wert foto.jpg hat - seh ich das richtig?
wenn ja, wie kann das ändern, damit es für mehr bilder ist?
 
ich glaub das machst du so

PHP:
 $bild="Foto.jpg";
 $bild1="foto2.jpg";

oder

PHP:
 $bild="Foto.jpg, foto2.jpg;"

ich weis aber nicht ob das funtz, da ich noch in der learn phase bin :) , naja wenns falsch ist koennt ihr mich ruhig korrigieren


cya
wolf
 
Da dieses Script so halb von mir ist kann ich bestimmt am besten antworten. Ich hab das Script bei mir in einer Funktion verpackt. Du läufst am besten eine Schleife mit allen Bilder durch und übergibst den Dateinamen an die Funktion.
 
@ workaholic

das is halb von dir? sorry, habe ich nicht gewusst, ich hoff es macht dir nix aus, dass ich es hier gepostet hab
ich habs auf phpcenter.de gefunden

könntest du mir das mit der schleife vielleicht genauer erklären?
ich weiß zwar was du meinst, aber weiß nicht wie ichs machen soll (bin noch ein halb-newbie ;))
 
Ach is nich schlimm. Ich hatte es auch nur von irgendeiner Seite und habe es abgewandelt. Ich hab an diesen Beitrag eine Datei angehängt. In dieser Datei sind Funktionen für die Bildbearbeitung und natürlich auch die besagte Funktion.

So funktioniert die Schleife:
Ich nehme in diesem Beispiel mal an, dass die Dateinamen der Bilder in einem Array gespeichert sind.

PHP:
// Array erstellen
$bilder = array ("bild1.jpg", "bild2.jpg", "bild3.jpg");

// Schleife durchlaufen
for ($i = 0; $i < count ($bilder); $i++)
{
  /* Die Syntax
  CreateThumb ("Pfad wo die Bilder liegen", 
               "Pfad wo die Thumbnails gespeichert werden sollen",
               "Dateiname des Originals",
               "Dateiname des neuen Thumbnails");
  */

  CreateThumb ("bilder/",
               "bilder/thumbs/",
               $bilder[$i],
               "thumb_".$bilder[$i]);
}

Das müsste eigentlich funktionieren.
 

Anhänge

Zuletzt bearbeitet:
Also gut. Ich versuchs nochmal gaaaaanz langsam zu erklären:

Das Script was du da hast macht nichts weiter als folgendes:
Es öffnet die Datei, die in $bild angegeben ist und im Ordner $PicPathIn liegt. Dann erstellt es ein Thumbnail von diesem Bild und speichert es im Ordner $PicPathOut.

Jetzt ist die Idee genau dieses Script in eine Funktion zu stecken. Du musst an die Funktion auf alle Fälle die Variable übergeben, die den Dateinamen des originalen Bildes speichert. Wenn die Ordner feststehen, wo die Bilder liegen bzw. gespeichert werden sollen, kannst brauchst du das nicht immer der Funktion übergeben, sondern direkt im Quelltext der Funktion speichern.

Dann musst du ja irgendwo eine Liste mit den Dateinamen haben! Diese Liste gehst du mit einer Schleife durch und rufst für jeden Dateinamen die Funktion auf.

Was anderes macht mein Beispiel hier oben drüber auch nicht.
 
die theorie hab ich ja verstanden
aber wie schaut der gesamte code dann im endeffekt aus, damit er funktionstüchtig ist
das kapier ich nicht
 
Eigentlich ist der Code, den ich da weiter oben geschrieben habe schon ein recht einfaches Beispiel. Am besten du erläuterst mir nochmal ganz genau wie dir die Bilder vorliegen. Ich denke mal sie liegen alle in einem Ordner. Soll das Script dann also alle Bilder aus einem Verzeichnis einlesen und diese zu Thumbnails machen?
 
ja, genau
alle bilder sind in einem ordner und von denen sollen dann thumbnails erstellt werden
wenn man auf die thumbnails klickt soll dann ein neues fenster geöffnet werden in dem das original-bild drin is
 
Zurück