แนะนำตัว
ด้านล่างนี้คือรายการตัวเลือกบริบทสำหรับ http:// และ https:// ขนส่ง
| วิธีการ | วิธี HTTP รองรับโดยเซิร์ฟเวอร์ระยะไกล ค่าเริ่มต้นเป็น GET |
| ส่วนหัว | ส่วนหัวเพิ่มเติมที่จะส่งในระหว่างการขอ |
| user_agent | ค่าที่จะส่งด้วย User-Agent:header. โดยค่าเริ่มต้น การตั้งค่า user_agent php.ini จะถูกใช้ |
| เนื้อหา | ข้อมูลเพิ่มเติมที่จะส่งหลังจากส่วนหัว มักใช้กับคำขอ POST หรือ PUT |
| พร็อกซี่ | URI ระบุที่อยู่ของพร็อกซีเซิร์ฟเวอร์ |
| request_fulluri บูลีน | เมื่อตั้งค่าเป็น TRUE ระบบจะใช้ URI ทั้งหมดในการสร้างคำขอ ค่าเริ่มต้นเป็น FALSE |
| follow_location | ติดตามการเปลี่ยนเส้นทางส่วนหัวของตำแหน่ง ตั้งค่าเป็น 0 เพื่อปิดการใช้งาน ค่าเริ่มต้นคือ 1 |
| max_redirects | จำนวนการเปลี่ยนเส้นทางสูงสุดที่จะติดตาม |
| protocol_version | เวอร์ชันโปรโตคอล HTTP ค่าเริ่มต้นคือ 1.0 |
| หมดเวลา | ระยะหมดเวลาของการอ่านเป็นวินาที ระบุโดย float (เช่น 10.5) |
| ละเว้น_ข้อผิดพลาด | ดึงเนื้อหาแม้ในรหัสสถานะความล้มเหลว ค่าเริ่มต้นเป็น FALSE |
ตัวอย่างต่อไปนี้ดึงส่วนหัวและเนื้อหาจาก http:// URL
ตัวอย่าง
<?php
$url = "http://localhost/testscript.php";
$opts = array('http' =>
array(
'method' => 'GET',
'max_redirects' => '0',
'ignore_errors' => '1'
);
$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);
var_dump(stream_get_meta_data($stream));
?> ผลลัพธ์
นี้แสดงข้อมูลส่วนหัวและข้อมูลเมตาดังนี้ -
array(10) {
["timed_out"]=>
bool(false)
["blocked"]=>
bool(true)
["eof"]=>
bool(false)
["wrapper_data"]=>
array(7) {
[0]=>
string(15) "HTTP/1.1 200 OK"
[1]=>
string(35) "Date: Thu, 17 Sep 2020 07:04:47 GMT"
[2]=>
string(55) "Server: Apache/2.4.41 (Win64) OpenSSL/1.0.2s PHP/7.1.32"
[3]=>
string(24) "X-Powered-By: PHP/7.1.32"
[4]=>
string(17) "Content-Length: 0"
[5]=>
string(17) "Connection: close"
[6]=>
string(38) "Content-Type: text/html; charset=UTF-8"
}
["wrapper_type"]=>
string(4) "http"
["stream_type"]=>
string(14) "tcp_socket/ssl"
["mode"]=>
string(1) "r"
["unread_bytes"]=>
int(0)
["seekable"]=>
bool(false)
["uri"]=>
string(31) "http://localhost/testscript.php"
}