ฟังก์ชัน file_put_contents

ฟังก์ชัน file_put_contents ใช้เขียนข้อมูลลงไฟล์ พารามิเตอร์แรก - เส้นทางไปยังไฟล์, พารามิเตอร์ที่สอง - ข้อมูลสำหรับเขียน พารามิเตอร์ตัวเลือกที่สามกำหนดโหมดการเขียน (ดูตารางด้านล่าง)

พารามิเตอร์ตัวเลือกที่สี่เป็นทรัพยากรบริบทสตรีม สร้างขึ้นโดยฟังก์ชัน stream_context_create อนุญาตให้กำหนดค่าพารามิเตอร์สำหรับการทำงานกับไฟล์หรือทรัพยากรเครือข่าย

ไวยากรณ์

phpfile_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<?php
  $res = file_put_contents('data.txt', 'abcde');
  echo $res;
?>

ผลลัพธ์จากการเรียกใช้โค้ด ส่งคืนจำนวนไบต์ที่เขียน:

php5

ตัวอย่าง

ลองเพิ่มข้อมูลต่อท้ายไฟล์:

php<?php
  $res = file_put_contents('data.txt', '12345', FILE_APPEND);
  echo $res;
?>

ตัวอย่าง

เขียนอาร์เรย์ลงไฟล์:

php<?php
  $data = ['a', 'b', 'c'];
  $res = file_put_contents('array.txt', implode(',', $data));
  echo $res;
?>

ตัวอย่าง

ในพารามิเตอร์ที่สาม สามารถระบุหลายแฟล็กได้ โดยแยกด้วยเครื่องหมาย | ตัวอย่างการเขียนต่อท้ายข้อมูลพร้อมล็อกไฟล์:

php<?php
  $res = file_put_contents(
    'log.txt',
    "text",
    FILE_APPEND | LOCK_EX
  );
  echo $res;
?>

ตัวอย่าง

การใช้บริบท:

php<?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,
    ซึ่งเขียนลงไฟล์