Định nghĩa.
Hàm stat () trả về thông tin về một tệp.
Cú pháp.
Cú pháp:
stat ( string $filename
) : array
Trong đó.
- $
filename
Đường dẫn đến tệp.
Giá trị trả về.
định dạng kết quả stat () và fstat ()
Số | Liên kết | Mô tả |
---|---|---|
0 | dev | số thiết bị *** |
1 | ino | số inode **** |
2 | mode | chế độ bảo vệ inode |
3 | nlink | số lượng liên kết |
4 | uid | userid của chủ sở hữu * |
5 | gid | nhóm của chủ sở hữu * |
6 | rdev | loại thiết bị, nếu thiết bị inode |
7 | size | kích thước tính bằng byte |
8 | atime | thời gian truy cập cuối cùng (Unix timestamp) |
9 | mtime | thời gian sửa đổi cuối cùng (Unix timestamp) |
10 | ctime | thời gian thay đổi inode cuối cùng (Unix timestamp) |
11 | blksize | kích thước khối của IO hệ thống tệp ** |
12 | blocks | số khối 512 byte được phân bổ ** |
- * Trên Windows, giá trị này sẽ luôn là 0.
- ** Chỉ hợp lệ trên các hệ thống hỗ trợ loại st_blksize – các hệ thống khác (ví dụ: Windows) trả về -1.
- *** Trên Windows, kể từ PHP 7.4.0, đây là số sê-ri của ổ chứa tệp, là một số nguyên không dấu 64-bit, vì vậy có thể bị tràn. Trước đây, nó là đại diện số của ký tự ổ đĩa (ví dụ: 2 cho C 🙂 cho stat () và 0 cho lstat ().
- **** Trên Windows, kể từ PHP 7.4.0, đây là số nhận dạng được liên kết với tệp, là một số nguyên không dấu 64-bit, vì vậy có thể bị tràn. Trước đây, nó luôn là 0.
- Giá trị của chế độ chứa thông tin được đọc bởi một số chức năng. Khi được viết bằng hệ bát phân, bắt đầu từ bên phải, ba chữ số đầu tiên được trả về bởi chmod (). Chữ số tiếp theo bị bỏ qua bởi PHP. Hai chữ số tiếp theo cho biết loại tệp:
mode file types
mode in octal | Ý nghĩa |
---|---|
0120000 |
link |
0100000 |
tệp thông thường |
0060000 |
khối thiết bị |
0040000 |
Thư mục |
0010000 |
fifo |
- Vì vậy, ví dụ một tệp thông thường có thể là 0100644 và một thư mục có thể là 0040755.
- Trong trường hợp lỗi, stat () trả về FALSE.
Ghi chú.
- Lưu ý: Vì kiểu số nguyên của PHP được ký và nhiều nền tảng sử dụng số nguyên 32 bit, một số hàm hệ thống tệp có thể trả về kết quả không mong muốn cho các tệp lớn hơn 2GB.
- Lưu ý: Kết quả của hàm này được lưu vào bộ nhớ đệm. Sử dụng clerstatcache () để xóa bộ nhớ cache.
- Lưu ý: Kết quả từ chức năng này sẽ khác nhau giữa các máy chủ. Mảng có thể chứa chỉ số số, chỉ mục tên hoặc cả hai.
- Kể từ PHP 5.0.0, chức năng này cũng có thể được sử dụng với một số trình bao bọc URL. Tham khảo Giao thức được hỗ trợ và Trình bao bọc để xác định trình bao bọc nào hỗ trợ họ chức năng stat ().
Changelog.
- 7.4.0 Trên Windows, số thiết bị bây giờ là số sê-ri của ổ chứa tệp và số inode là số nhận dạng được liên kết với tệp.
- 7.4.0 Các thống kê về kích thước, atime, mtime và ctime của các liên kết tượng trưng luôn là những thống kê của mục tiêu. Điều này trước đây không phải là trường hợp cho các bản dựng NTS trên Windows.
Ví dụ.
Ví dụ # 1.
code.
<?php /*Nhận thống kê tệp */ $stat = stat('C:\php\php.exe'); /* * Thời gian truy cập tệp in, điều này giống nhau * khi gọi fileatime () */ echo 'Access time: ' . $stat['atime']; /* * Thời gian sửa đổi tệp in, đây là * giống như cách gọi filemtime () */ echo 'Modification time: ' . $stat['mtime']; /* In số thiết bị */ echo 'Device number: ' . $stat['dev']; ?>
Hàm liên quan.
- lstat () – Cung cấp thông tin về tệp hoặc liên kết tượng trưng
- fstat() – Lấy thông tin về tệp bằng con trỏ tệp đang mở
- filemtime () – Nhận thời gian sửa đổi tệp
- filegroup () – Lấy nhóm tệp.
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm stat() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé. Cảm ơn các bạn đã ghé thăm codetutam.com