main logo png Danh sách hàm trong PHP

Quảng cáo

Tinohost giảm 30% VPS/Hosting các bạn ạ. Đây là nhà cung cấp đứng top tại Việt Nam, xem tại đây

Hàm fileperms() trong PHP

Hàm fileperms() sẽ lấy các quyền của file được truyền vào.

Cú pháp

Cú phápfileperms( $filename);

Quảng cáo

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():

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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:

Quảng cáo

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

Quảng cáo

Các chủ đề liên quan:

Bài viết cùng chuyên mục:

Quảng cáo

Top