php: สร้างห้องแสดงภาพอย่างง่าย

 

ปัญหาคือ ถ้ามีภาพมาก ๆ ถ้าเราใช้โปรแกรม gallery ก็จะยุ่งยากเกินไปในการนำภาพเข้าสู่ห้องแสดง

เลยทดลองเขียน php ในการแปลงไฟล์ภาพ แล้วแสดงผลเสร็จสรรพในตัวเดียวกัน

วิธีการคือ คัดลอกไฟล์ให้เข้าไปในไดเรคทอรี่ที่ต้องการ โปรแกรมที่สร้างขึ้น จะทำการแปลงโดยใช้ความสามารถของ convert ที่อยู่ในชุดแพคเกจ Image Magick (ต้องติดตั้ง imagemagick ก่อน)

ในโค๊ดตัวอย่าง จะแปลงภาพให้ลดเหลือ 50% ของไฟล์จริง แล้วจึงสร้างไฟล์ thumbnail สำหรับแสดงผลอย่างง่าย

โค๊ดตั้งชื่อว่า index.php มีดังนี้

<?php
  if (!file_exists("thumb")) {
    mkdir("thumb");
  }
  if (!file_exists("50")) {
    mkdir("50");
  }

  $dh = opendir(".");
  while (false !== ($mfile = readdir($dh))) {
    if ($mfile == "." || $mfile == "..") {
      continue;
    }
    if (strpos('.JPG .PNG .GIF .TIF', strtoupper(substr($mfile, -4))) === FALSE) {
      continue;
    }
    if (!file_exists("thumb/$mfile")) {
      exec("convert $mfile -resize 8% thumb/$mfile");
    }
    if (!file_exists("50/$mfile")) {
      exec("convert $mfile -resize 50% 50/$mfile");
    }

  }
  $dh = opendir("./50");
  while (false !== ($mfile = readdir($dh))) {
    if ($mfile == "." || $mfile == "..") {
      continue;
    }
    print '<a href="./50/'.$mfile.'"><img src="thumb/'.$mfile.'"> </a>';
  }
?>
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.