các hàm xử lý file trong PHP
các hàm xử lý file trong PHP

Các hàm xử lý File trong php – Khái niệm

Các hàm xử lý file trong php là một phần quan trọng của bất kỳ ứng dụng web nào. Bạn thường cần mở và xử lý file cho các tác vụ khác nhau. Có một số hàm để xử lý file trong PHP bao gồm tạo, đọc, tải lên và chỉnh sửa các file.

Hãy cẩn thận khi thao tác các file!

Khi bạn đang xử lý file trong php, bạn phải rất cẩn thận.

Bạn có thể gây ra nhiều thiệt hại nếu bạn làm sai khi xử lý file trong PHP. Các lỗi phổ biến là: chỉnh sửa file, tạo dữ liệu rác và xóa nội dung của file do gặp lổi trong quá trình thao tác.

Sau đây mình sẽ hướng dẫn các bạn các hàm thông dụng để xử lý file trong PHP. Ở phần này mình sẽ chưa đề cập đến upload file nhé!.

1. Mở file

Mở và đọc file bình thường – readfile()

Hàm readfile() dùng để đọc một file và ghi nó vào bộ nhớ đệm để xuất ra dữ liệu.Hàm readfile() cũng trả về số byte được đọc thành công. Giả sử mình có một file tên là “phpcanban.txt” được lưu trữ trên server, bên trong có nội dung như sau:

AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

Ví dụ

Chạy ví dụ »

Hàm readfile() rất hữu ích nếu tất cả những gì bạn muốn làm là mở một file và đọc nội dung của nó.

Mở file với nhiều tùy chọn – fopen()

Một phương pháp tốt hơn để mở các file là dùng hàm fopen(“filename”, “modes”). Trong đó modes là những tùy chọn để tương tác với file, dưới đây là các tùy chọn:

Modes Mô tả
r Mở file chỉ để đọc. Con trỏ bắt đầu ở đầu file
w Mở file chỉ để ghi. Xóa nội dung của file hoặc tạo một file mới nếu file không tồn tại. Con trỏ bắt đầu ở đầu file
a Mở một file chỉ để ghi. Dữ liệu hiện có trong file được bảo toàn. Con trỏ file bắt đầu ở cuối của file. Tạo một file mới nếu file không tồn tại
x Tạo ra một file mới chỉ để ghi. Trả về FALSE và lổi nếu file đã tồn tại
r+ Mở một file để đọc / ghi. Con trỏ bắt đầu ở đầu file
w+ Mở một file để đọc / ghi. Xóa nội dung của file hoặc tạo một file mới nếu file không tồn tại. Con trỏ bắt đầu ở đầu file
a+ Mở một file để đọc / ghi. Dữ liệu hiện có trong file được bảo toàn. Con trỏ bắt đầu ở cuối của file. Tạo một file mới nếu file không tồn tại
x+ Tạo ra một file mới để đọc / ghi. Trả về FALSE và lổi nếu file đã tồn tại
b Mở một file để đọc. Mở dưới dạng chế độ binary

Ví dụ dưới đây là cấu trúc thông dụng của hàm fopen(), bao gồm mở file > xử lý file > đóng file:

Chạy ví dụ »
Lưu ý: Sau khi mở file bằng hàm fopen() và hoàn tất những gì bạn muốn thì các bạn nên đóng file lại bằng hàm fclose() , nếu không muốn file được mở chiếm tài nguyên máy chủ nhé!, mình sẽ hướng dẫn hàm fclose() ở phần bên dưới!

2. Đóng file

Hàm fclose() được sử dụng để đóng một file đang mở. Sẽ là rất tốt nếu bạn làm quen với thao tác đóng file sau khi bạn đã hoàn tất công việc vì nếu không đóng file đang mở sẽ chiếm tài nguyên máy chủ của bạn!

3. Đọc file

Đọc một file – fread()

Hàm fread() đọc nội dung từ một file đã được mở. Tham số đầu tiên của hàm fread() chứa tên của file cần đọc và tham số thứ hai xác định số byte tối đa để đọc. Đoạn code dưới đây dùng để đọc file “phpcanban.txt” từ đầu đến cuối file

Đọc một dòng của file – fgets()

Hàm fgets() dùng để đọc một dòng của file. Ví dụ dưới đây sẽ xuất ra dòng đầu tiên của file “phpcanban.txt”:

Chạy ví dụ »

Chú ý: Sau khi gọi hàm fgets(), con trỏ file đã chuyển sang dòng tiếp theo.

Kiểm tra giới hạn file – feof()

Hàm feof() kiểm tra nếu đọc đến cuối file hay chưa. Và rất hữu dụng để đọc file bằng vòng lặp mà không biết giới hạn của file là bao nhiêu. Ví dụ dưới đây sẽ đọc file “phpcanban.txt” theo từng dòng đến khi đạt đến giới hạn của file:

Chạy ví dụ »

Đọc từng ký tự của file – fgetc()

Hàm fgetc() dùng để đọc từng ký tự của file. Ví dụ dưới đây sẽ đọc file “phpcanban.txt” theo từng ký tự đến khi đạt đến giới hạn của file:

Chạy ví dụ »

Chú ý: Sau khi gọi hàm fgetc(), con trỏ file đã chuyển sang ký tự tiếp theo.

4. Ghi file

Để ghi file PHP hỗ trợ hàm fwrite(). Tham số đầu tiên của fwrite() chứa tên của file để ghi vào và tham số thứ hai là chuỗi được ghi.

Ví dụ

Chạy ví dụ »

5. Các hàm xử lý file khác

Sau đây là một số hàm xử lý file khác.

Kiểm tra file có tồn tại không

Ta dùng hàm file_exists($path), trong đó $path là đường dẫn đến file cần kiểm tra, ví dụ:

Kiểm tra file có được cấp quyền ghi không

Ta dùng hàm is_writable($path) trong đó $path là đường dẫn đến file cần kiểm tra .

Ví dụ:

Lấy nội dung một file mà không cần dùng hàm fread

Ta dùng hàm file_get_contents($path) để lấy nội dung của một file, trong đó $path là đường dẫn đến file cần lấy. $path có thể là đường link đến một trang web trên internet thì nó sẽ trả về nội dung html của trang web đó.

Ví dụ:

Ghi nội dung file mà không cần dùng hàm fwrite

Ta dùng hàm file_put_contents($path, $noidung) để ghi nội dung cho một file, trong đó $path là đường dẫn đến file cần ghi, $noidung là nội dung bạn muốn ghi vào file.

Ví dụ:

Đổi tên file

Để đổi tên file ta dùng hàm rename($oldname, $newname), trong đó $oldname là đường dẫn đến file cần đổi tên, $newname là đường dẫn mới có kèm tên file cần đổi . Nếu bạn chỉ muốn đổi tên thôi thì đường dẫn của cả 2 biến giống nhau, chỉ khác nhau ở cái tên file. Nếu tên file mới bị trùng thì file đó sẽ bị ghi đè.

Ví dụ:

Copy file

Để copy sang file mới ta dùng hàm copy($source, $dest), trong đó $source là path file cần copy và $dest là path file cần di chuyển tới. Nếu bạn muốn đổi luôn tên thì đường dẫn $dest bạn khai báo một cái tên khác.

Ví dụ:

Xóa file

Ta dùng hàm $unlink($path) để xóa file, trong đó $path là đường dẫn đến file cần xóa.

Ví dụ:

Kiểm tra một đường dẫn folder có tồn tại không

Ta dùng hàm is_dir($filename), trong đó $filename là đường dẫn đến folder cần kiểm tra.

Ví dụ:

Tạo một folder mới

Ta dùng hàm mkdir($path) để tạo folder mới, trong đó $path là đường dẫn đến folder cần tạo. Bạn lưu ý folder cuối cùng chính là tên folder bạn cần tạo và tất cả các folder trước nó bạn chắc chắn là phải có, nếu không sẽ bị lỗi.

Ví dụ:

6. Lời kết

Trên đây là những hàm thường dùng để xử lý file trong PHP, còn nhiều hàm khác nhưng mình không thể liệt kê ra đây hết được, các bạn có thể tham khảo thêm tại đây !

Bây giờ chúng ta chuyển qua bài tiếp theo nói về upload file nhé! Lộ trình học PHP căn bản / nâng cao

Nguồn: phpcanban.com

Các hàm xử lý File trong PHP – Chương 4
5 (100%) 1 vote

Chia sẻ
Bài trướcShare full theme mythemeshop (100 theme) miễn phí
Bài tiếp theoUpload file trong PHP – Chương 5
Mình là Nguyễn Công! Mình bắt đầu kiếm tiền Online từ năm 2017 và nhờ đó mà có thu nhập rất ổn định. Mình chia sẽ những dự án kiếm tiền Online tốt nhất đã được khảo sát và chắt lọc cho các bạn. Hy vọng thông qua những bài viết phân tích đánh giá ICO các bạn sẽ đưa ra quyết định đầu tư thành công!. Chúc các bạn một ngày nhiều niềm vui! Group Facebook: https://goo.gl/CXVpWU Group Telegram: https://goo.gl/7w3c4t

BÌNH LUẬN

Please enter your comment!
Please enter your name here