Hàm file_get_contents

Hàm file_get_contents đọc nội dung của một tệp và trả về nó dưới dạng chuỗi. Tham số đầu tiên là đường dẫn đến tệp, tham số thứ hai - cờ bật đường dẫn tìm kiếm, tham số thứ ba - ngữ cảnh luồng, tham số thứ tư - độ lệch để bắt đầu đọc, tham số thứ năm - độ dài tối đa của dữ liệu.

Tham số thứ ba đặc biệt hữu ích khi cần tìm tệp trong các thư mục chuẩn, được chỉ định trong cấu hình PHP, chứ không chỉ theo đường dẫn tuyệt đối.

Cú pháp

phpfile_get_contents(
  string $filename,
  bool $use_include_path = false,
  ?resource $context = null,
  int $offset = 0,
  ?int $maxlen = null
): string|false

Tham số

Tham số Mô tả
filename Đường dẫn đến tệp hoặc URL
use_include_path Nếu đặt thành true, hàm sẽ tìm kiếm tệp trong các thư mục được chỉ định trong tham số include_path trong cài đặt PHP tại tệp php.ini. Mặc định là false.
context Tài nguyên ngữ cảnh luồng
offset Độ lệch để bắt đầu đọc
maxlen Độ dài tối đa của dữ liệu được đọc

Ví dụ

Đọc nội dung của tệp cục bộ:

php<?php
  $res = file_get_contents('data.txt');
  echo $res;
?>

Kết quả thực thi mã:

php'abcde'

Ví dụ

Đọc một phần tệp với độ lệch và độ dài được chỉ định:

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

Kết quả thực thi mã:

php'bcd'

Ví dụ

Đọc nội dung của một trang web:

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

Kết quả thực thi mã:

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

Ví dụ

Tìm tệp trong include_path:

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

Kết quả thực thi mã:

php'config_data'

Tham số ngữ cảnh luồng

Tham số context cho phép truyền một tài nguyên ngữ cảnh luồng, có thể điều chỉnh hành vi của hàm khi làm việc với tệp hoặc tài nguyên mạng.

Tài nguyên ngữ cảnh, được tạo bởi hàm stream_context_create. Nếu không cần cài đặt đặc biệt, có thể truyền null.

Các khả năng của ngữ cảnh:

Ví dụ hoạt động:

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);
?>

Xem thêm

  • hàm file_put_contents,
    hàm ghi dữ liệu vào tệp
  • hàm fopen,
    hàm mở tệp
  • hàm file,
    hàm đọc tệp thành một mảng các chuỗi