แนะนำตัว
สคริปต์ PHP ใด ๆ สามารถเข้าถึงตัวแปรที่กำหนดไว้ล่วงหน้าจำนวนหนึ่ง อย่างไรก็ตาม ส่วนใหญ่ขึ้นอยู่กับซอฟต์แวร์เว็บเซิร์ฟเวอร์ เวอร์ชัน PHP และปัจจัยอื่นๆ ตัวแปรเหล่านี้บางตัวไม่พร้อมใช้งานสำหรับสคริปต์ที่ทำงานในโหมดบรรทัดคำสั่ง ตัวแปร $GLOBALS เก็บข้อมูลอ้างอิงของตัวแปรที่กำหนดไว้ล่วงหน้าที่มีอยู่ทั่วโลกทั้งหมด ตัวแปรเหล่านี้ส่วนใหญ่แสดงโดย phpinfo.php ตัวแปรที่กำหนดไว้ล่วงหน้าที่ใช้กันทั่วไปบางตัวได้อธิบายไว้ที่นี่
$_SERVER
นี่คือตัวแปรอาร์เรย์ที่มีข้อมูลเกี่ยวกับส่วนหัว HTTP สคริปต์และสภาพแวดล้อม ต่อไปนี้เป็นสมาชิกที่โดดเด่นบางส่วนของอาร์เรย์นี้
PHP_SELF − เก็บชื่อไฟล์ของสคริปต์ที่กำลังรันอยู่ ตัวอย่างเช่น สคริปต์ในโฟลเดอร์ทดสอบของรูทเอกสารของเซิร์ฟเวอร์ภายในเครื่องส่งกลับเส้นทางดังนี้ -
ตัวอย่าง
<?php echo $_SERVER['PHP_SELF']; ?>
ผลลัพธ์
ซึ่งส่งผลให้ผลลัพธ์ต่อไปนี้ในเบราว์เซอร์ด้วย https://localhost/test/testscript.php URL
/test/testscript.php
SERVER_ADDR − คุณสมบัติของอาร์เรย์นี้ส่งคืนที่อยู่ IP ของเซิร์ฟเวอร์ที่สคริปต์ปัจจุบันกำลังทำงานอยู่
SERVER_NAME − ชื่อของโฮสต์เซิร์ฟเวอร์ซึ่งสคริปต์ปัจจุบันกำลังทำงานอยู่ ในกรณีของเซิร์ฟเวอร์ที่ทำงานอยู่ในเครื่อง localhost ถูกส่งกลับ
QUERY_STRING − สตริงการสืบค้นคือสตริงของคู่คีย์=ค่าที่คั่นด้วยสัญลักษณ์ &และต่อท้าย URL หลังจาก ? สัญลักษณ์. ตัวอย่างเช่น https://localhost/testscript?name=xyz&age=20 URL ส่งคืนสตริงข้อความค้นหาต่อท้าย
REQUEST_METHOD - วิธีการขอ HTTP ที่ใช้สำหรับการเข้าถึง URL เช่น POST, GET, POST, PUT หรือ DELETE ในตัวอย่างสตริงการสืบค้นข้างต้น URL ที่แนบมากับสตริงการสืบค้น wirh ? สัญลักษณ์ร้องขอหน้าด้วยเมธอด GET
DOCUMENT_ROOT − ส่งคืนชื่อของไดเร็กทอรีบนเซิร์ฟเวอร์ที่กำหนดค่าเป็นรูทเอกสาร บนเซิร์ฟเวอร์ XAMPP apache จะส่งคืน htdocs เป็นชื่อของรูทเอกสาร
C:/xampp/htdocs
DOCUMENT_ROOT − นี่คือสตริงที่แสดงถึงตัวแทนผู้ใช้ (เบราว์เซอร์) ที่กำลังเข้าถึงหน้า
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
REMOTE_ADDR − IP address ของเครื่องที่ผู้ใช้กำลังดูหน้าปัจจุบัน
SERVER_PORT − หมายเลขพอร์ตที่เว็บเซิร์ฟเวอร์กำลังฟังคำขอที่เข้ามา ค่าเริ่มต้นคือ 80
$_GET
โดยค่าเริ่มต้น เบราว์เซอร์ไคลเอนต์ส่งคำขอสำหรับ URL บนเซิร์ฟเวอร์โดยวิธี HTTP GET สตริงการสืบค้นที่แนบกับ URL อาจมีคู่คีย์=ค่าที่ต่อกันด้วยสัญลักษณ์ &แอสโซซิเอทีฟอาเรย์ $_GET เก็บคู่ค่าคีย์เหล่านี้ไว้
สมมติว่า URL ในเบราว์เซอร์คือ https://localhost/testscript?name=xyz&age=20
ตัวอย่าง
<?php echo "Name : " . $_GET["name"] . "<br>"; echo "Age : " . $_GET["age"]; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Name : xyz Age : 20
$_POST
อาร์เรย์ที่เชื่อมโยงของคู่คีย์-ค่าที่ส่งผ่านไปยัง URL โดยวิธี HTTP POST ที่ใช้ URLEncoded หรือประเภทเนื้อหาหลายส่วน/ข้อมูลแบบฟอร์มในคำขอ
ข้อมูลถูกส่งไปยังสคริปต์ PHP โดยใช้วิธี POST โดยระบุ action=POST ในรูปแบบ HTML test.html ดังต่อไปนี้ -
<form action="testscript.php" method="POST"> <input type="text" name="name"> <input type="text" name="age"> <input type ="submit" valaue="submit"> </form>
สคริปต์ PHP มีดังต่อไปนี้ -
ตัวอย่าง
<?php echo "Name : " . $_POST["name"] . "<br>"; echo "Age : " . $_POST["age"]; ?>
ผลลัพธ์
สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -
Name : xyz Age : 20
$_FILES
ตัวแปรนี้เป็นอาเรย์ที่เชื่อมโยงซึ่งมีรายการที่อัปโหลดผ่านเมธอด HTTP POST การอัปโหลดไฟล์ต้องใช้แบบฟอร์มเมธอด HTTP POST โดยตั้งค่าแอตทริบิวต์ enctype เป็น multipart/form-data
<form action="testscript.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file"> <input type ="submit" valaue="submit"> </form>
ในสคริปต์ PHP ตัวแปร _FILES สามารถเข้าถึงได้ดังนี้ -
ตัวอย่าง
<?php print_r($_FILES); ?>
ผลลัพธ์
Array ( [file] => Array ( [name] => hello.html [type] => text/html [tmp_name] => C:\xampp\tmp\php9647.tmp [error] => 0 [size] => 56 ) )
$_REQUEST
ตัวแปรนี้เป็นอาร์เรย์ที่เชื่อมโยงซึ่งมีเนื้อหาของตัวแปรที่กำหนดไว้ล่วงหน้า $_GET, $_POST และ $_COOKIE
$_SESSION
ตัวแปรนี้เป็นอาเรย์ของตัวแปรที่แสดงถึงเซสชัน HTTP
$_ENV
อาร์เรย์ของตัวแปรสภาพแวดล้อมสร้างตัวแปรที่กำหนดไว้ล่วงหน้านี้ ตัวแปรเหล่านี้ถูกนำเข้าไปยังเนมสเปซส่วนกลางของ PHP
$_COOKIE
เซิร์ฟเวอร์สามารถจัดเก็บข้อมูลบางอย่างในคอมพิวเตอร์ของลูกค้าในรูปแบบของคุกกี้ คุกกี้เหล่านี้จะถูกส่งทุกครั้งที่มีการร้องขอ ตัวแปร _COOKIE คืออาร์เรย์ที่เชื่อมโยงของตัวแปรคุกกี้และค่าของตัวแปรเหล่านั้น