Kiểm tra file

Chào các bạn, bài đầu tiên trong chuyên đề này mình sẽ trình bày các hàm cơ bản để kiểm tra sự tồn tại của file, lấy thông tin file, loại file hay đường dẫn… Trước khi đọc, hay thao tác với file, mình cần kiểm tra file có tồn tại hay chưa, cũng như trong qua trình upload file trước khi lưu trên server cần kiểm tra file có đúng định dạng cho phép upload hay không.

Kiểm-tra-file

Xem toàn bộ chuyên đề:

1. Kiểm tra sự tồn tại tập tin

$filename : là đường dẫn đến tập tin cần kiểm tra. Hàm này có thể kiểm tra sự tồn tại của tập tin hay folder.

Kết quả trả về là true hay false.

Ví dụ:

Nếu đường dẫn tới file đúng và file tồn tại thì kết quả trả về true và chúng ta tiếp tục xử lý các yêu tiếp theo.

2. Kiểm tra tập tin hay thư mục

Hàm filetype kiểm tra đường dẫn nhập và là file hay folder, kết quả trả về là string file hay dir ứng với tập tin hay thư mục.

Ví dụ:

3. Lấy dung lượng tập tin

Kết quả trả về là bytes, bạn có thể đổi ra các đơn vị cao hơn MB, GB…

Ví dụ:

4. Lấy thông tin file

Những hàm này giúp chúng ta lấy tên file, đường dẫn, phần mở rộng hay type file.

Hàm trả về tên của tập tin từ đường dẫn path.

Trả về tên thư mục hiện tại của đường dẫn path.

Hàm trả về mảng các thông tin của path : dirname, basename, extension, filename nếu không truyền vào tham số option.

Để lấy 1 giá trị như extension, hay filename… thì truyền vào giá trị option tương ứng:

  • PATHINFO_DIRNAME
  • PATHINFO_BASENAME
  • PATHINFO_EXTENSION
  • PATHINFO_FILENAME

Ví dụ:

 

5. Kiểm tra quyền thao tác trên file

Tương ứng kiểm tra file có thể đọc hay không, có thể viết hay không và cuối cùng là có thể thực thi hay không. Kết quả trả về true hay false

6. Chmod trong file

Chắc bạn đã nghe nói nhiều chmod, chmod thể hiện mối quan hệ giữa người dùng với tập tin, thư mục. Chúng ta có 3 nhóm user như sau:

  • Owner/User : Chủ sở hữu.
  • Group : Các tài khoản cùng một nhóm
  • Other/Guest : Quyền đối với nhóm Guest, ngoài 2 nhóm ở trên.

Nhóm nhóm sẽ có quyền nhất định đối với file như read, write, Execute như mình đã trình bày ở trên.

Quyền cho tập tin được biểu diễn bằng một số nguyên 3 chữ số ứng với các nhóm trên

Ví dụ:

Tập tin a có chmod 775 tức là

Số 7 đầu tiên : Đại diện cho nhóm User: read (4), write (2), execute (1)  như vậy nhóm User có cả 3 quyền trên (7 = 4 + 2 +1)

Số 7 thứ 2 : Đại diện có nhóm Group, cũng có cả 3 quyền.

Số 5 cuối : Đại diện cho nhóm Other: Nhóm này chỉ có 2 quyền Read, Execute (5 = 4 + 1)

1. Kiểm tra Chmod 1 file, folder

Hàm  substr(sprintf('%o', $chmod), -4) nhằm đổi giá trị chmod ra dạng xyz để dễ nhìn.

2. Set Chmod 1 file, folder

7. Lời kết

Qua bài này các bạn có thể kiểm tra thông tin, tên file, phần mở rộng cũng như cách set chmod trên file. Bài tiếp theo chúng ta sẽ đi vào xử lý nội dung của file, đọc ghi, xóa hay đổi tên…

Kiểm tra file
5 (100%) 1 vote

Add Comment