ฟังก์ชัน file_put_contents
ฟังก์ชัน file_put_contents ใช้เขียนข้อมูลลงไฟล์ พารามิเตอร์แรก - เส้นทางไปยังไฟล์,
พารามิเตอร์ที่สอง - ข้อมูลสำหรับเขียน พารามิเตอร์ตัวเลือกที่สามกำหนดโหมดการเขียน (ดูตารางด้านล่าง)
พารามิเตอร์ตัวเลือกที่สี่เป็นทรัพยากรบริบทสตรีม สร้างขึ้นโดยฟังก์ชัน stream_context_create
อนุญาตให้กำหนดค่าพารามิเตอร์สำหรับการทำงานกับไฟล์หรือทรัพยากรเครือข่าย
ไวยากรณ์
file_put_contents(
string $filename,
mixed $data,
int $flags = 0,
?resource $context = null
): int|false
ค่าของพารามิเตอร์ที่สาม
| แฟล็ก | คำอธิบาย |
|---|---|
FILE_USE_INCLUDE_PATH |
หากตั้งค่า ฟังก์ชันจะค้นหาไฟล์
ในไดเรกทอรีที่ระบุในพารามิเตอร์ include_path
ในการตั้งค่า PHP ในไฟล์ php.ini
|
FILE_APPEND |
เขียนข้อมูลต่อท้ายไฟล์แทนการเขียนทับ |
LOCK_EX |
รับการล็อกไฟล์แบบเฉพาะกิจขณะเขียน |
ตัวอย่าง
ลองเขียนสตริงลงไฟล์:
<?php
$res = file_put_contents('data.txt', 'abcde');
echo $res;
?>
ผลลัพธ์จากการเรียกใช้โค้ด ส่งคืนจำนวนไบต์ที่เขียน:
5
ตัวอย่าง
ลองเพิ่มข้อมูลต่อท้ายไฟล์:
<?php
$res = file_put_contents('data.txt', '12345', FILE_APPEND);
echo $res;
?>
ตัวอย่าง
เขียนอาร์เรย์ลงไฟล์:
<?php
$data = ['a', 'b', 'c'];
$res = file_put_contents('array.txt', implode(',', $data));
echo $res;
?>
ตัวอย่าง
ในพารามิเตอร์ที่สาม สามารถระบุหลายแฟล็กได้
โดยแยกด้วยเครื่องหมาย |
ตัวอย่างการเขียนต่อท้ายข้อมูลพร้อมล็อกไฟล์:
<?php
$res = file_put_contents(
'log.txt',
"text",
FILE_APPEND | LOCK_EX
);
echo $res;
?>
ตัวอย่าง
การใช้บริบท:
<?php
$opts = [
'http' => [
'method' => "POST",
'header' => "Content-type: text/plain\r\n"
]
];
$context = stream_context_create($opts);
$res = file_put_contents(
'http://example.com/api',
'data=test',
false,
$context
);
?>
ดูเพิ่มเติม
-
ฟังก์ชัน
file_get_contents,
ซึ่งอ่านเนื้อหาไฟล์ -
ฟังก์ชัน
fopen,
ซึ่งเปิดไฟล์ -
ฟังก์ชัน
fwrite,
ซึ่งเขียนลงไฟล์