ฟังก์ชัน file_get_contents
ฟังก์ชัน file_get_contents อ่านเนื้อหาของไฟล์และส่งคืน
เป็นสตริง ในพารามิเตอร์แรกส่งเส้นทางไปยังไฟล์ ในพารามิเตอร์ที่สอง -
แฟล็กเปิดใช้งานเส้นทางการค้นหา ในพารามิเตอร์ที่สาม - คอนเท็ก스트ของสตรีม
ในพารามิเตอร์ที่สี่ - ออฟเซ็ตสำหรับเริ่มต้นการอ่าน ในพารามิเตอร์ที่ห้า - ความยาวสูงสุดของข้อมูล
พารามิเตอร์ที่สามมีประโยชน์อย่างมาก เมื่อต้องการค้นหาไฟล์ในไดเรกทอรีมาตรฐานที่ระบุในการกำหนดค่า PHP และไม่เฉพาะตามเส้นทางสัมบูรณ์
ไวยากรณ์
file_get_contents(
string $filename,
bool $use_include_path = false,
?resource $context = null,
int $offset = 0,
?int $maxlen = null
): string|false
พารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
filename |
เส้นทางไปยังไฟล์หรือ URL |
use_include_path |
หากตั้งค่าเป็น true ฟังก์ชันจะค้นหาไฟล์
ในไดเรกทอรีที่ระบุในพารามิเตอร์ include_path
ในการตั้งค่า PHP ในไฟล์ php.ini
ค่าเริ่มต้นคือ false
|
context |
รีซอร์สคอนเท็ก스트สตรีม |
offset |
ออฟเซ็ตสำหรับเริ่มต้นการอ่าน |
maxlen |
ความยาวสูงสุดของข้อมูลที่จะอ่าน |
ตัวอย่าง
การอ่านเนื้อหาของไฟล์ท้องถิ่น:
<?php
$res = file_get_contents('data.txt');
echo $res;
?>
ผลลัพธ์จากการรันโค้ด:
'abcde'
ตัวอย่าง
การอ่านส่วนหนึ่งของไฟล์พร้อมระบุออฟเซ็ตและความยาว:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
ผลลัพธ์จากการรันโค้ด:
'bcd'
ตัวอย่าง
การอ่านเนื้อหาของหน้าเว็บ:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
ผลลัพธ์จากการรันโค้ด:
'<!doctype html><html><head><title>Example D...'
ตัวอย่าง
การค้นหาไฟล์ใน include_path:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
ผลลัพธ์จากการรันโค้ด:
'config_data'
พารามิเตอร์คอนเท็ก스트สตรีม
พารามิเตอร์ context ช่วยให้สามารถส่งรีซอร์สคอนเท็ก스트สตรีม
ซึ่งสามารถปรับเปลี่ยนพฤติกรรมของฟังก์ชันเมื่อทำงานกับไฟล์
หรือรีซอร์สเครือข่าย
รีซอร์สคอนเท็ก스트ที่สร้างโดยฟังก์ชัน stream_context_create
หากไม่ต้องการการตั้งค่าเป็นพิเศษ สามารถส่ง null ได้
ความสามารถของคอนเท็ก스트:
- การตั้งค่า HTTP headers เมื่อทำคำขอ
- การกำหนดค่า connection timeouts
- การระบุ proxy server
- การทำงานกับ SSL/TLS parameters
- การกำหนดค่าการเข้าถึงไฟล์ระบบ
ตัวอย่างการทำงาน:
<?php
$opts = [
'http' => [
'method' => "GET",
'header' => "Accept-language: en\r\n"
]
];
$context = stream_context_create($opts);
$res = file_get_contents('https://example.com', false, $context);
?>
ดูเพิ่มเติม
-
ฟังก์ชัน
file_put_contents,
ซึ่งเขียนข้อมูลลงไฟล์ -
ฟังก์ชัน
fopen,
ซึ่งเปิดไฟล์ -
ฟังก์ชัน
file,
ซึ่งอ่านไฟล์เป็นอาร์เรย์ของสตริง