Hàm fileperms() trong PHP - PHP Function
Code echo substr(sprintf('%o', fileperms('example.txt')), -4);
Hàm fileperms()
sẽ lấy các quyền của file được truyền vào.
Cú pháp
Cú pháp: fileperms( $filename);
Trong đó:
$filename
là đường dẫn tới file cần kiểm tra.
Kết quả trả về
Hàm sẽ trả về các quyền của file dưới dạng số. Đối với các bits thấp, các quyền trả về sẽ tương đương với các quyền truyền vào hàm chmod()
. Tuy nhiên với hầu hết các hệ điều hành, giá trị trả về sẽ bao gồm cả thông tin về loại file của file được truyền vào.
Ví dụ
Ví dụ về hàm fileperms()
:
echo substr(sprintf('%o', fileperms('example.txt')), -4);
0666
Ví dụ dưới đây mình lấy trên trang chủ php.net, để lấy các quyền cụ thể của file:
$perms = fileperms('test.txt'); switch ($perms & 0xF000) { case 0xC000: // socket $info = 's'; break; case 0xA000: // symbolic link $info = 'l'; break; case 0x8000: // regular $info = 'r'; break; case 0x6000: // block special $info = 'b'; break; case 0x4000: // directory $info = 'd'; break; case 0x2000: // character special $info = 'c'; break; case 0x1000: // FIFO pipe $info = 'p'; break; default: // unknown $info = 'u'; } // Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); // Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); // World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); echo $info;
rrw-rw-rw-
Tham khảo: php.net
Nguồn: Zaidap.com.net