ฟังก์ชัน file_get_contents

ฟังก์ชัน file_get_contents อ่านเนื้อหาของไฟล์และส่งคืน เป็นสตริง ในพารามิเตอร์แรกส่งเส้นทางไปยังไฟล์ ในพารามิเตอร์ที่สอง - แฟล็กเปิดใช้งานเส้นทางการค้นหา ในพารามิเตอร์ที่สาม - คอนเท็ก스트ของสตรีม ในพารามิเตอร์ที่สี่ - ออฟเซ็ตสำหรับเริ่มต้นการอ่าน ในพารามิเตอร์ที่ห้า - ความยาวสูงสุดของข้อมูล

พารามิเตอร์ที่สามมีประโยชน์อย่างมาก เมื่อต้องการค้นหาไฟล์ในไดเรกทอรีมาตรฐานที่ระบุในการกำหนดค่า PHP และไม่เฉพาะตามเส้นทางสัมบูรณ์

ไวยากรณ์

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

ผลลัพธ์จากการรันโค้ด:

php'abcde'

ตัวอย่าง

การอ่านส่วนหนึ่งของไฟล์พร้อมระบุออฟเซ็ตและความยาว:

php<?php
  $res = file_get_contents('data.txt', false, null, 1, 3);
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php'bcd'

ตัวอย่าง

การอ่านเนื้อหาของหน้าเว็บ:

php<?php
  $res = file_get_contents('https://example.com');
  echo substr($res, 0, 50) . '...';
?>

ผลลัพธ์จากการรันโค้ด:

php'<!doctype html><html><head><title>Example D...'

ตัวอย่าง

การค้นหาไฟล์ใน include_path:

php<?php
  $res = file_get_contents('config.ini', true);
  echo $res;
?>

ผลลัพธ์จากการรันโค้ด:

php'config_data'

พารามิเตอร์คอนเท็ก스트สตรีม

พารามิเตอร์ context ช่วยให้สามารถส่งรีซอร์สคอนเท็ก스트สตรีม ซึ่งสามารถปรับเปลี่ยนพฤติกรรมของฟังก์ชันเมื่อทำงานกับไฟล์ หรือรีซอร์สเครือข่าย

รีซอร์สคอนเท็ก스트ที่สร้างโดยฟังก์ชัน stream_context_create หากไม่ต้องการการตั้งค่าเป็นพิเศษ สามารถส่ง null ได้

ความสามารถของคอนเท็ก스트:

ตัวอย่างการทำงาน:

php<?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,
    ซึ่งอ่านไฟล์เป็นอาร์เรย์ของสตริง