PHP: PHP Hypertext Preprocessor

Home

PHP Tutorial
Knowledge Developer Database Internet Resource
ไฟล์ และไดเรคทอรี
1. การเปิดและปิดไฟล
2. การเขียนลงไฟล์
3. การอ่านไฟล์
4. ฟังก์ชันไฟล์อื่นที่มีประโยชน์
5. การล็อกไฟล์
6. การเข้าถึงไดเรคทอรี
7. การทำงานกับแม่ข่าย
8. การเปลี่ยนทิศทางเพจ
 
PHP เบื้องต้น
1. เริ่มต้นด้วย PHP
2. ภาษา PHP
3. การทำงานไฟล์ และไดเรคทอรี
4. การทำงานกับ Array
5. การควบคุมข้อความ และนิพจน์ปกติี่
6. คำสั่งใช้ใหม่และฟังก์ชัน
7. Object Oriented Programming
 
PHP
PHP เบื้องต้น
การสร้างโปรแกรมประยุกต์เว็บ
PHP ระดับสูง
 
Internet
PHP
SSI
HTML
AJAX
 
PHP เบื้องต้น > การทำงานไฟล์ และไดเรคทอรี

การทำงานกับแม่ข่าย

โปรแกรมประยุกต์เว็บต้องทำงานกับแม่ข่าย จึงการทำงานความเข้าใจการทำงานของแม่ข่าย รวมถึงสิ่งที่ผู้ใช้ส่งมาให้

ตัวแปรแม่ข่าย

กลไกหลักที่ใช้ในการศึกษาคือ $_SERVER superglobal array และตรงกับ $HTTP_SERVER_VARS array ที่ต้องตั้งค่า register_long_arrays เป็น on ใน php.ini เพื่อทำให้เนื้อหาที่มีได้รับการตั้งค่าเป็นตัวแปร global ที่มีพื้นฐานจาก register_globals

ใน array นี้มีหลายตัวแปรที่น่าสนใจและใช้งานบ่อย

PHP_SELF

คีย์นี้อยู่ใน $_SERVER array บอกถึง URI ของสคริปต์ปัจจุบันสัมพัทธ์กับรากของเว็บไซต์ที่กำลังเข้าถึง ตัวอย่าง

http://www.widebase.net/member/login.php

$_SERVER[“PHP_SELF”] ส่งออก /member/login.php แต่สคริปต์ที่ถามถึงต้องรวมอยู่ในสคริปต์อื่น จึงส่งออกค่าเมื่อมีการถามได้

SERVER_NAME

ค่านี้เป็นชื่อของแม่ข่ายที่ไม่คำนำหน้าด้วย http:// เช่น www.widebase.net

SERVER_SOFTWARE

ค่านี้บอกซอฟต์แวร์ที่แม่ข่ายกำลังเรียกใช้ เช่น Microsoft-IIS/5.1, Apache/2.2.2 (Win32) PHP/5.1.4 หรือ Apache/ 1.3.33 (Unix) PHP/5.0.4 mod_ssl/2.8.1 OpenSSL/0.9.7f

SERVER_PROTOCOL

ค่านี้บอกถึงโปรโตคอลที่ลูกข่ายใช้ทำคำขอเพจนี้ ตามปกติเป็น HTTP/1.1

REQUEST_METHOD

ค่านี้บอกวิธีการส่งข้อมูลจากคำขอ HTTP นอกจาก GET และ POST แล้ว อาจจะพบ PUT และ HEAD

REQUEST_TIME

ตัวแปรนี้ไม่ได้มีในทุกแม่ข่าย แต่ส่วนที่สนับสนุนจะใช้อ่านค่าเวลาที่แม่ข่ายรับคำขอ

DOCUMENT_ROOT

การค้นหาว่าไดเรคทอรีที่กำลังประมวลผลคำสั่ง สามารถค้นจากฟิลด์ DOCUMENT_ROOT

REMOTE_ADDR

ถ้าต้องการทราบ IP address ของลูกข่ายที่กำลังเชื่อมต่อสามารถดูได้จากฟิลด์นี้ ถึงแม้ว่าค่าของฟิลด์สามารถแก้ไขได้โดยผู้ใช้ระดับสูง แต่ยังคงสามารถใช้เป็นเครื่องมือระบุผู้ใช้โปรแกรมประยุกต์ เช่น ฟอรัม

สิ่งที่ควรทราบคือ ผู้ใช้เดียวกันใน ‘session' เดียวกันสามารถมาจากต่าง IP address ทั้งนี้ขึ้นกับผู้ให้บริการอินเตอร์เน็ตที่ผู้ใช้เชื่อมต่อและเส้นทางการเดินของข้อมูล

HTTP_USER_AGENT

ฟิลด์นี้บอกตัวแทน (agent) ที่เป็น browser, โปรแกรม และอื่นๆ ของลูกข่ายที่ทำคำขอเพจ

อื่นๆ

สามารถดูฟิลด์อื่นของ $_SERVER array ได้ด้วยการเรียกฟังก์ชัน phpinfo() หรือเขียนคำสั่งแสดงฟิลด์ของ $_SERVER ตามรายการคำสั่ง 1.3.2 แสดงผลตามภาพ 1.3.1


ภาพ 1.3.1

รายการคำสั่ง 1.3.2 สคริปต์ serverinfo.php แสดงสารสนเทศของ $_SERVER

 

<html>
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<head><title>Server Information</title></head>
<body>

<table width='100%' border='1'>

<?php

foreach ($_SERVER as $key => $value)
{

echo <<<SHOWVAR
<tr>
<td width='25%'><b>$key</b></td>
<td> $value</td>
</tr>

SHOWVAR;
}

?>

</table>
</body>
</html>

 

ตัวแปร Environment

$_ENV array บอกให้ทราบถึงสภาพแวดล้อมของระบบปฏิบัติการสำหรับแม่ข่ายปัจจุบัน รายละเอียดมีของระบบปฏิบัติการที่กำลังเรียกใช้มีความเจาะจงมาก บอกถึง PATH (ชุดของไดเรคทอรีเพื่อค้นหาไฟล์ exe) ชื่อโฮสต์ ระบบปฏิบัติการ หรือ command shell

การดูรายละเอียดสามารถแก้ไขรายการคำสั่ง 1.3.2 จาก $_SERVER เป็น $_ENV


  

สงวนลิขสิทธิ์ (C) widebase / Julaphak