Hàm fopen()
trong PHP là một hàm cơ bản được sử dụng để mở một file hoặc nguồn dữ liệu khác để đọc hoặc ghi. Bằng cách sử dụng fopen()
, người phát triển có thể tiến hành xử lý dữ liệu từ các nguồn khác nhau, bao gồm các file trên hệ thống file, URL, hoặc cả chuỗi văn bản. Điều này tạo ra một công cụ mạnh mẽ cho việc thao tác và quản lý dữ liệu trong ứng dụng PHP. Hãy cùng Vietnix tìm hiểu thêm về hàm fopen()
qua bài viết sau đây.
Hàm fopen() là gì?
Hàm fopen()
là một hàm được tích hợp sẵn trong PHP, dùng để mở file hoặc URL. Tên của file và chế độ mở file (ví dụ: đọc "r"
, ghi "w"
, hoặc thêm vào "a"
) được gửi dưới dạng tham số cho hàm fopen()
. Hàm sẽ trả về một con trỏ file nếu mở thành công, hoặc giá trị False
nếu không thành công. Việc thêm “@” trước tên hàm sẽ ngăn việc hiển thị thông báo lỗi trực tiếp ra ngoài.
Cú pháp | resource fopen ( $file, $mode, $include_path, $context) |
Tham số | Các thành phần sử dụng bao gồm 4 thông số: – $file: dùng để chỉ định file là gì. – $mode: chỉ định cách truy cập file hoặc stream. “r”: chế độ chỉ Đọc và bắt đầu ở đầu file. – “r+”: chế độ Đọc/Ghi và bắt đầu ở phần đầu file. – “w”: chỉ cho phép Ghi, mở và xóa nội dung file hoặc tạo mới nếu file chưa tồn tại. – “w+”: chế độ Đọc/Ghi, mở và xóa nội dung file hoặc tạo mới nếu file không tồn tại. – “a”: chế độ Ghi, mở và ghi vào cuối file hoặc tạo mới nếu file không tồn tại. – “a+”: chế độ Đọc/Ghi. Giữ nguyên nội dung đang có bằng cách ghi vào cuối file. – “x”: chế độ Ghi, tạo một file mới và trả về FALSE và lỗi nếu file đã tồn tại. – “x+”: chế độ Đọc/Ghi, tạo một file mới và trả về FALSE và lỗi nếu file đã tồn tại. – $include_path: thông số tùy chọn, tìm file theo đường dẫn. – $context: thông số tùy chọn, thiết lập hành vi stream file. |
Trả về giá trị | Hàm fopen() sẽ trả về nguồn file pointer nếu thành công hoặc trả về False và báo lỗi. Tuy nhiên vẫn có vài trường hợp ngoại lệ:– Khi ghi nội dung vào file, ký tự kết thúc dòng phải chính xác theo nền tảng đang dùng. Hệ thống Unix là \n, trong Windows là \r\n, còn trong Macintosh là \r. – Nên dùng cờ (flag) “b” khi mở file bằng hàm fopne() .– Lỗi mức E_WARNING được tạo ra khi mở file thất bại. – Khi trong chế độ safe mode, PHP sẽ xem nếu thư mục (directory) chứa script đang hoạt động (operating-script) có cùng UID với script đang thực thi hay không. – Nếu người dùng không chắc đây có phải file hay directory, cần dùng hàm is_dir() trước khi dùng hàm fopen() vì hàm này cũng có thể gọi thành công nếu tên file là một directory |
Mọi người cũng xem:
Các ví dụ minh họa hàm fopen() trong PHP
Giả sử Vietnix có một file txt với nội dung như sau:
Vietnix Hosting VPS toc do cao!
Ví dụ 1:
<?php
// Opening a file using fopen()
// function in read only mode
$myfile = fopen("/home/vietnix/test.txt", "r")
or die("File does not exist!");
?>
Output như sau:
File does not exist!
Ví dụ 2:
<?php
// Opening a file using fopen()
// function in read/write mode
$myfile = fopen("test.txt", 'r+')
or die("File does not exist!");
$pointer = fgets($myfile);
echo $pointer;
fclose($myfile);
?>
Output như sau:
Vietnix Hosting VPS toc do cao!
Ví dụ 3:
<?php
// Opening a file using fopen() function
// in read mode along with b flag
$myfile = fopen("test.txt", "rb");
$contents = fread($myfile, filesize($myfile));
fclose($myfile);
print $contents;
?>
Output như sau:
Vietnix Hosting VPS toc do cao!
Ví dụ 4:
<?php
// Opening a file using fopen() function
// in read/write mode
$myfile = fopen("test.txt", "w+");
// writing to file
fwrite($myfile, 'Vietnix');
// Setting the file pointer to 0th
// position using rewind() function
rewind($myfile);
// writing to file on 0th position
fwrite($myfile, 'Hosting VPS');
rewind($myfile);
// displaying the contents of the file
echo fread($myfile, filesize("test.txt"));
fclose($myfile);
?>
Output như sau:
Hosting VPS
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về hàm fopen()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!