Hàm fileperms() trong PHP
Hàm fileperms()
sẽ lấy các quyền của file được truyền vào.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
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.
Bài viết này được đăng tại [free tuts .net]
Ví dụ
Ví dụ về hàm fileperms()
:
Code
echo substr(sprintf('%o', fileperms('example.txt')), -4);
Kết quả
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:
Code
$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;
Kết quả
rrw-rw-rw-
Tham khảo: php.net