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ếtMô tả
0devsố thiết bị ***
1inosố inode ****
2modechế độ bảo vệ inode
3nlinksố lượng liên kết
4uiduserid của chủ sở hữu *
5gidnhóm của chủ sở hữu *
6rdevloại thiết bị, nếu thiết bị inode
7sizekích thước tính bằng byte
8atimethời gian truy cập cuối cùng (Unix timestamp)
9mtimethời gian sửa đổi cuối cùng (Unix timestamp)
10ctimethời gian thay đổi inode cuối cùng (Unix timestamp)
11blksizekích thước khối của IO hệ thống tệp **
12blockssố 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
0120000link
0100000tệp thông thường
0060000khối thiết bị
0040000Thư mục
0010000fifo
  • 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