Hàm file_get_contents() trong PHP

Hàm file_get_contents() trong PHP
Hàm file_get_contents() trong PHP

Chức năng của Hàm file_get_contents() trong PHP

Hàm file_get_contents() trong PHP dùng để lấy nội dung html, css, js,... của một URL trang web hoặc lấy nội dung của một file.

Cú pháp của Hàm file_get_contents() trong PHP

$kết_quả = file_get_contents('liên_kết');

liên_kết: Liên kết của một URL Web hoặc liên kết đến 1 file.

$kết_quả: Trả về nội dung html, css, js,... của toàn bộ trang web để xem được giao diện toàn trang web, hoặc xem được toàn bộ nội dung của 1 file.

Code Hàm file_get_contents() trong PHP

Code Hàm file_get_contents() trong PHP từ website khác

<?php
$ketqua = file_get_contents('https://www.24h.com.vn/tin-tuc-trong-ngay/8-tuyen-duong-ket-noi-tp-hcm-voi-san-bay-long-thanh-c46a1687872.html');
echo $ketqua;
?>

Kết quả in ra giao diện của trang web, giống như vào trực tiếp url đó vậy, chúng ta lấy được tất cả html, css, js,... của url đó.

Code Hàm file_get_contents() trong PHP từ file nội bộ

Nội dung trong file test.txt:

Code Hàm file_get_contents() trong PHP từ file nội bộ.

Code:

<?php
$ketqua = file_get_contents('thumuctest/test.txt');
echo $ketqua;
?>

Kết quả:

Code Hàm file_get_contents() trong PHP từ file nội bộ.

Những lưu ý khi sử dụng hàm file_get_contents() trong PHP

file_get_contents() khá thuận tiện khi cần đọc nhanh nội dung từ file hoặc lấy dữ liệu qua URL. Tuy nhiên, để tránh lỗi ngoài ý muốn, cần kiểm tra nguồn dữ liệu, quyền truy cập và cách xử lý kết quả trước khi đưa vào ứng dụng.

Kiểm tra URL và đường dẫn file trước khi đọc dữ liệu

Đường dẫn không chính xác là một trong những nguyên nhân phổ biến khiến việc đọc dữ liệu thất bại. Với file trên máy chủ, nên xác định rõ đường dẫn tương đối hay tuyệt đối và kiểm tra file có thực sự tồn tại hay không.

Nếu lấy dữ liệu từ URL, cần bảo đảm địa chỉ có thể truy cập từ máy chủ PHP. Ngoài ra, việc cho phép PHP mở dữ liệu từ URL còn phụ thuộc vào cấu hình máy chủ, vì vậy cùng một đoạn mã có thể hoạt động ở môi trường này nhưng không hoạt động ở môi trường khác.

<?php
$file = 'data/example.txt';

if (file_exists($file)) {
    $content = file_get_contents($file);
} else {
    $content = false;
}
?>

Cách kiểm tra này giúp chương trình chủ động xử lý khi file không tồn tại thay vì tiếp tục sử dụng một kết quả không hợp lệ.

Xử lý trường hợp file_get_contents() không lấy được nội dung

Không nên mặc định rằng hàm luôn trả về dữ liệu. Khi không thể đọc nguồn, file_get_contents() có thể trả về false. Vì vậy, kết quả nên được kiểm tra trước khi xử lý tiếp.

<?php
$content = file_get_contents('data/example.txt');

if ($content === false) {
    echo 'Không thể đọc dữ liệu.';
} else {
    echo $content;
}
?>

Với dữ liệu lấy từ URL, lỗi còn có thể xuất phát từ kết nối mạng, URL không tồn tại, máy chủ đích từ chối truy cập hoặc thời gian phản hồi quá lâu. Trong ứng dụng thực tế, nên có phương án xử lý lỗi phù hợp thay vì hiển thị trực tiếp thông báo kỹ thuật cho người dùng.

Khi nào nên dùng file_get_contents() thay cho các phương pháp khác

file_get_contents() phù hợp khi nhu cầu chủ yếu là đọc toàn bộ nội dung của một nguồn trong một lần. Chẳng hạn, hàm có thể được dùng để đọc file cấu hình dạng văn bản, nội dung mẫu hoặc một tài nguyên nhỏ cần xử lý ngay trong chương trình.

Khi làm việc với dữ liệu từ API, file_get_contents() cũng có thể đáp ứng những trường hợp đơn giản. Tuy nhiên, nếu cần nhiều tùy chọn HTTP, xác thực, header phức tạp, timeout hoặc kiểm soát request chi tiết, một công cụ chuyên dụng như cURL thường phù hợp hơn.

Điểm quan trọng là không nên chọn hàm chỉ vì cú pháp ngắn. Hãy dựa vào nguồn dữ liệu, cách kết nối và mức độ kiểm soát cần thiết để lựa chọn phương pháp đọc dữ liệu phù hợp với ứng dụng.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm file_get_contents() trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm file_get_contents() trong PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !