Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP ตัวแปรที่กำหนดไว้ล่วงหน้า


แนะนำตัว

สคริปต์ 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 คืออาร์เรย์ที่เชื่อมโยงของตัวแปรคุกกี้และค่าของตัวแปรเหล่านั้น