最新消息: 新版网站上线了!!!

php读取文件夹的图片并生成缩图

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.     <meta charset="UTF-8"
  5.     <title>Title</title> 
  6. </head> 
  7. <style> 
  8.     .clear          { clear:both; } 
  9.     .photo-link     { padding:5px; margin:5px; border:1px solid #ccc; display:block; width:200px; float:left; } 
  10.     .photo-link:hover   { border-color:#999; } 
  11. </style> 
  12. <body> 
  13. <?php 
  14. /* function:  generates thumbnail */ 
  15. function make_thumb($src,$dest,$desired_width) { 
  16.     /* read the source image */ 
  17.     $source_image = imagecreatefromjpeg($src); 
  18.     $width = imagesx($source_image); 
  19.     $height = imagesy($source_image); 
  20.     /* find the "desired height" of this thumbnail, relative to the desired width  */ 
  21.     $desired_height = floor($height*($desired_width/$width)); 
  22.     /* create a new, "virtual" image */ 
  23.     $virtual_image = imagecreatetruecolor($desired_width,$desired_height); 
  24.     /* copy source image at a resized size */ 
  25.     imagecopyresized($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height); 
  26.     /* create the physical thumbnail image to its destination */ 
  27.     imagejpeg($virtual_image,$dest); 
  28.  
  29. /* function:  returns files from dir */ 
  30. function get_files($images_dir,$exts = array('jpg')) { 
  31.     $files = array(); 
  32.     if($handle = opendir($images_dir)) { 
  33.         while(false !== ($file = readdir($handle))) { 
  34.             $extension = strtolower(get_file_extension($file)); 
  35.             if($extension && in_array($extension,$exts)) { 
  36.                 $files[] = $file
  37.             } 
  38.         } 
  39.         closedir($handle); 
  40.     } 
  41.     return $files
  42.  
  43. /* function:  returns a file's extension */ 
  44. function get_file_extension($file_name) { 
  45.     return substr(strrchr($file_name,'.'),1); 
  46. /** settings **/ 
  47. $images_dir = 'preload-images/'
  48. $thumbs_dir = 'preload-images-thumbs/'
  49. $thumbs_width = 200; 
  50. $images_per_row = 3; 
  51.  
  52. /** generate photo gallery **/ 
  53. $image_files = get_files($images_dir); 
  54. if(count($image_files)) { 
  55.     $index = 0; 
  56.     foreach($image_files as $index=>$file) { 
  57. $index++; 
  58. $thumbnail_image = $thumbs_dir.$file
  59. if(!file_exists($thumbnail_image)) { 
  60. $extension = get_file_extension($thumbnail_image); 
  61. if($extension) { 
  62. make_thumb($images_dir.$file,$thumbnail_image,$thumbs_width); 
  63. echo '<a href="',$images_dir.$file,'" class="photo-link smoothbox" rel="gallery"><img src="',$thumbnail_image,'" /></a>'
  64. if($index % $images_per_row == 0) { echo '<div class="clear"></div>'; } 
  65. echo '<div class="clear"></div>'
  66. else { 
  67. echo '<p>There are no images in this gallery.</p>'
  68. ?> 
  69. </body> 
  70. </html> 

下载源码:

http://pan.kuitao8.com/index.php/s/IWSkM1YN5RW1ETq
 

转载请注明:谷谷点程序 » php读取文件夹的图片并生成缩图