แนวทางการกำหนด expired header ให้กับรูปภาพ ด้วย php อย่างง่าย
06 June 2011ตัวอย่างต่อไปนี้ เป็นแนวทางสำหรับการกำหนด expired header ให้กับรูปภาพ ที่แสดงในหน้าเว็บไซต์
ทำให้ บราวเซอร์เลือกใช้งานรูปภาพจากเครื่อง โดยดูจากวันที่ expired ของรูปภาพที่เรากำหนด ถ้ารูปที่อยู่
ในเครื่องหรือที่ cache ไว้ในตอนแรก ยังไม่หมดอายุ ก็จะทำการดึงรูปจากที่เครื่องมาใช้ แทนการไปโหลด
ที่ server ใหม่ทุกครั้ง
1. สรัางไฟล์ index.php ตามโค้ดด้านล่าง แล้วในไปวางไว้ในโฟลเดอร์รูปภาพ
<?php
if(!isset($_GET['pic']) || $_GET['pic']==""){
$_GET['pic']="photoNotAvailable.jpg"; // ชื่อรูปภาพที่ต้องการแสดงกรณีไม่มีรูป
}
function imgType($imgName){
$imgName=strtolower($imgName);
$imgTypeShow="";
if(preg_match("/.gif/",$imgName)){
$imgTypeShow="gif";
}
if(preg_match("/.png/",$imgName)){
$imgTypeShow="png";
}
if(preg_match("/.jpg/",$imgName)){
$imgTypeShow="jpeg";
}
if(preg_match("/.jpeg/",$imgName)){
$imgTypeShow="jpeg";
}
return $imgTypeShow;
}
if(imgType($_GET['pic'])){
$last_modified_time = filemtime($_GET['pic']);
$etag = md5_file($_GET['pic']);
header("Content-type: image/".imgType($_GET['pic']).";");
header("Cache-Control: must-revalidate");
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
header("Etag: $etag");
$offset = 60 * 60 * 24 * 30; // กำหนดอายุ 30 วัน ดูตัวคูณตัวหลังสุด * 30
$ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT";
header($ExpStr);
if($_GET['pic']!=""){
if(is_file($_GET['pic'])){
$abs_url="htttp://www.yourdomain.com/images/";// กำหนด path หรือตำแหน่งจริงของรูปภาพที่จะแสดง
echo file_get_contents($abs_url.$_GET['pic']);
}
}
}
?>
2. การใช้งาน ตัวอย่างรูปภาพตาม url นี้ http://www.ninenik.com/images/logo_01_Mon.gif
นำไฟล์ index.php ไปไว้ที่โฟลเดอร์ images
เรียกใช้งาน รูปภาพผ่าน url ใหม่เป็น
http://www.ninenik.com/images/?pic=logo_01_Mon.gif
เท่านี้ก็จะได้รูปภาพที่มีการกำหนด expired header มาแสดง
บทความคนเข้าอ่านวันนี้
22 Mar 11 การกำหนด แท็ก html ในตัวแปร JavaScript อย่างง่าย อ่าน 1623 05 Nov 08 CSS สร้างเมนูแนวนอน 2 ชั้นโดยไม่ใช้ javascript และตาราง table อ่าน 10432 23 Nov 08 สร้างเมนูแท็บ Tab menu ด้วย jQuery + CSS อย่างง่าย อ่าน 25071 06 Jun 11 แนวทางการกำหนด expired header ให้กับรูปภาพ ด้วย php อย่างง่าย อ่าน 816 23 Jan 12 แนวทางการประยุกต์ การซ่อน แสดงเนื้อหาสำหรับล็อกอิน อย่างง่าย ด้วย jQuery อ่าน 461 17 Dec 10 สร้าง php ฟังก์ชัน ตราจสอบ ก่อนถึงวันหมดอายุ อย่างง่าย อ่าน 1907 26 Mar 09 ฟังก์ชัน php แบ่งหน้าแต่งด้วย css อ่าน 6112 26 Oct 08 เช็ค browser ด้วย javascript ได้ทั้ง IE Firefox Opera Chrome อ่าน 4111 17 Nov 08 ตรวจสอบฟอร์ม form ก่อน submit ด้วย jquery อ่าน 9443 25 Mar 11 สร้างรูปแบบ วันที่ คล้าย วันที่ใน facebook comment ด้วย php อย่างง่าย อ่าน 2839 12 Nov 09 รู้จักกับ Ajax Events ใน jQuery อ่าน 4288 25 Sep 08 มารู้จัก effect ของ jquery อย่างง่าย ตอนที่ 3 อ่าน 3815 28 Oct 10 เริ่มต้นใช้งาน jquery ui autocomplete อย่างง่าย อ่าน 3462 10 Dec 09 ประยุกต์ เทคนิค jQuery เลื่อน scrollbar ขึ้นลง ตามเมาส์ สำหรับ div และ textarea อ่าน 4078 08 Oct 08 การสร้างปุ่มด้วย CSS อ่าน 4677 25 Sep 08 Code เกี่ยวกับ การหาวันข้างหน้า อ่าน 1904 13 Oct 08 คำสั่ง SQL LIKE อ่าน 4599 14 Feb 09 คำนวณหาอายุ จากวันเกิด ด้วย php อ่าน 4650 25 Sep 08 Borders การจัดการเกี่ยวกับขอบ อ่าน 4033 15 Sep 10 สร้าง ตัว marker ระบุตำแหน่ง ใน google map จำนวนมาก จาก xml ไฟล์ อ่าน 3832
