Hàm stat() trong PHP

24/11/2020 - lượt xem
Chia sẻ
 
Rate this post

Đị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 ()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

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    Rate this post

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm