การสร้างหน้า Error Code 404 , 500 ของเราเอง ฉบับ PHP

August 31st, 2009

จากหน้า Browser HTTP Error Code ที่ผมเคยโพสไว้ คราวนี้เรามาสร้างหน้า Error code เหล่านี้กันครับใน PHP ก็ทำตามนี้ครับ

จะขอยกตัวอย่าง Error code 404 และ 500 ครับที่พวกเราเจอกันเยอะที่สุด

Error 404 file not found (หาหน้าที่เราต้องการเข้าไปดูไม่พบ หรือไม่มีหน้านี้แล้ว หรือไม่เคยมีเลย)
Error 500 Internal server error (อาจจะเกี่ยวกับ Permission ไม่ถูกต้อง url ที่เรียกใช้ยาวเกินไปหรือติด security rules ของทางโฮส)

1. สร้างไฟล์ error ขึ้นมา เช่น error404.html
file นี้จะ แสดงแทน Error file not found ของ server ครับข้างในอาจจะเขียนไว้ว่า “URLนี้ไม่พบ” หรืออะไร ก็ได้แล้วแต่์ จากนั้นอับโหลดไปไว้ที่ root directory (คือ ส่วนที่เก็บ index ของหน้า home ไว้นั่นเอง)
2. ตรวจสอบูว่า ใน server ที่ root directory ของคุณนั้นมีไฟล์ .htaccess หรือยัง่ ถ้าหากว่ามีละก็ ขอแนะนำว่าให้นำไฟล์นั้นมาที่เครื่องและเปิดดูก่อน แล้วค่อยเขียนคำสั่งอื่นๆ ลงไป
3. จากนั้นเริ่มทำการเพิ่ม คำสั่งลงไปในไฟล์ .htaccess
ErrorDocument 404 /error404.html
จากนั้นก็ save ไฟล์ .htaccess

** หากว่าต้องการเพิ่มคำสั่ง error code อื่นๆ ก็สามารถเพิ่มได้ในบรรทัดถัดไป เช่น 500 ก็ให้ใส่เข้าไปในไฟล์ .htaccess เช่น
ErrorDocument 404 /error404.html
ErrorDocument 500 /error500.html

4. upload ไฟล์ .htaccess และ file error.html เข้าไปไว้ที่ root directory ใน server ของคุณ

ก็เป็นอันเสร็จครับผม หวังว่าคงมีประโยนช์กันน่ะครับ

ไว้คราวหน้าผมจะมาแนะทำใน Java Web Appplication ต่อครับ

Browser HTTP Error Code

August 31st, 2009

หลายๆ คนคงเคยเห็นตัวเลข error ที่แสดงขึ้นมาเมื่อ Browser ฟ้องว่ามีปัญหาในการเรียก URL ซึ่ง error ที่เกิดขึ้นนั้นมีความหมายว่าอย่างไรบ้าง ผมก็ยังงงครับ บ้างครั้งหรือหลายๆครั้งต้องอาศัยพี่ google ครับมาช่วยตอบปัญหาเหล่านี้ ผมเลยเอามาแบ่งปั่นกัน และเก็บไว้เป็น knowledge ของผมเองด้วย

400 – Bad Request
ปัญหาคือ ไม่สามารถแสดงผลตามที่ต้องการได้ เกิดจากกำหนด URL ไม่ถูกต้อง
401 – Unauthorized
ปัญหาคือ ไม่อนุญาตให้เข้าเยี่ยมชมไซท์ด้วย User – Anonymous

403 – Forbidden or Connection refused by host
ปัญหาคือ ไม่อนุญาตให้เข้าเยี่ยมชมไซท์ เนื่องจาก ระบบรักษาความปลอดภัย ของ Domain ผู้ใช้ไม่ได้รับอนุญาต

404 – Not Found or Object Not Found
ปัญหาคือ Site หรือ Server ไม่พบไฟล์ที่เรียกหา

502 – Service Temporarily Overloaded
ปัญหาคือ Server ใช้งานมาก ลักษณะเหมือน Server Busy

503 – Service Unavailable
ปัญหาคือ มี 2 สาเหตุ อันแรกคือ ISP เรามีปัญหา หรือไม่ก็ ไซท์ที่เข้า ชมมีปัญหา down กระทันหัน

Bad file request and Too many users
ปัญหาคือ Browser ที่ใช้ไม่สนับสนุน code ที่เขียนบนไซท์

Cannot add form submission result to bookmark list
ปัญหาคือ ไม่สามารถจัดเก็บผลแสดงบนหน้าจอลงบน bookmark ได้ ที่เห็นบ่อยเป็นกับไซท์ของ WebCrawler

Fail DNS Lookup
ปัญหาคือ Server ที่ใช้ไม่สามารถแปลง DNS เป็น URL เพื่อไปยังไซท์ที่ ต้องการได้

File contain no data
ปัญหาคือ ไฟล์ที่เรียกใช้กำลังมีการเปลี่ยนแปลงอยู่ (update)

Helper application not found and Viewer not found
ปัญหาคือ Browser ที่ใช้ไม่รู้จักไฟล์ที่มีนามสกุลที่เรียกใช้

Host unavailable
ปัญหาคือ ไซท์ขัดข้อง (down)

Host unknown and Unable to locate host
ปัญหาคือ Server มีปัญหา, สายหลุด หรือไม่ก็ใส่ค่า URL ผิด

Network connection was refused by the server and Too many connection
ปัญหาคือ Server Busy สายใช้กันมากเกินไป

และยังมี Error Code อื่นๆ อีกที่เราไม่ค่อยเห็น สามารถตามไปดูได้ที่ error page

เป็นไงครับที่นี่ก็คงเข้าใจกันแล้วใช้มั้ยครับว่า error code ที่แสดงบนหน้า Browser มันมีความหมายอะไรบ้าง

Simplified Image Resizing with PHP

August 30th, 2009

บางครั้งเวลาแสดงรูปบนเว็ลไซน์เราก็ต้องการย่อรูปนั้นให้เล็กลง หรือเวลาเรา upload รูปขึ้นไปบน Server เพื่อให้รูปเล็กลงจะได้ประหยัดพื้นที่
ผมมี functon ง่ายๆนำเสนอแบ่งปั่นครับ

function calResize($width,$height,$target=90) {
// หา % เพื่อนำไป resize รูป
if ($width > $height) {
$percentage = ($target / $width);
} else {
$percentage = ($target / $height);
}
// ทำการ resize รูป
$width = round($width * $percentage);
$height = round($height * $percentage);
return array ($width, $height);
}

เวลารับค่าจาก function

list($width, $height) = calResize($width, $height);

ตัวอย่างง่ายๆ แต่มีประโชยน์เยอะเลยครับ