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
file_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
$res = file_get_contents('data.txt');
echo $res;
?>
Kết quả thực thi mã:
'abcde'
Ví dụ
Đọc một phần tệp với độ lệch và độ dài được chỉ định:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
Kết quả thực thi mã:
'bcd'
Ví dụ
Đọc nội dung của một trang web:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
Kết quả thực thi mã:
'<!doctype html><html><head><title>Example D...'
Ví dụ
Tìm tệp trong include_path:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
Kết quả thực thi mã:
'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:
- Thiết lập tiêu đề HTTP khi gửi yêu cầu
- Cấu hình thời gian chờ kết nối
- Chỉ định máy chủ proxy
- Làm việc với tham số SSL/TLS
- Cấu hình quyền truy cập hệ thống tệp
Ví dụ hoạt động:
<?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