"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Frage zu Thumbnail-Script

pirate man 04.04.2002 - 23:18 548 3
Posts

pirate man

Here to stay
Registered: Jul 2001
Location: @ home
Posts: 5556
hier ist der code für ein thumbnail-script:
Code: 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?

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Hmm einfach in ne for schleife packen wo dann 1 image nach dem anderen abgearbeitet wird:

Code: PHP
$PicPathIn="../bilder/"; 
  $PicPathOut="../bilder/out/"; 
  // Orginalbild 
  $bilder= { "Foto.jpg", "Nocheinfoto.jpg" }; 

foreach ($bilder as $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"); 
  } 

  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\">";
}

des sollte es eigentlich tun =)

pirate man

Here to stay
Registered: Jul 2001
Location: @ home
Posts: 5556
foreach? was is denn das für eine schleife?
hab ich noch nie gesehen

Vir@s

Code Monkey
Registered: Nov 2000
Location: Wien
Posts: 730
Zitat von pirate man
foreach? was is denn das für eine schleife?
hab ich noch nie gesehen

foreach arbeitet jedes Element in einem array ab.

und zwar nach folgendem Syntax:

foreach ($array as $element);

wobei $element immer das aktuelle element ist und für 1 schleifendurchlauf gültig ist.

Foreach erspart viel Arbeit wenn man ein Array abarbeiten will =)

Mfg, Vir@s

http://www.php.net/manual/en/contro...res.foreach.php
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz