php: สร้างห้องแสดงภาพอย่างง่าย
Submitted by wd on Wed, 2006-08-30 16:40
ปัญหาคือ ถ้ามีภาพมาก ๆ ถ้าเราใช้โปรแกรม 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>'; } ?>
Recent comments