Hàm umask() trong PHP

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

Định nghĩa.

Hàm umask() thay đổi quyền đối với tệp. Hàm này đặt umask của PHP thành mask & 0777 và trả về umask cũ.

Cú pháp.

Cú pháp:

umask ([ int $mask ] ) : int

Trong đó.

Tham sốnMô tả
maskKhông bắt buộc. Chỉ định các quyền mới. Mặc định là 0777 Tham số mask bao gồm bốn số:
  • Số đầu tiên luôn là số 0
  • Số thứ hai chỉ định quyền cho chủ sở hữu
  • Số thứ ba chỉ định các quyền cho nhóm người dùng của chủ sở hữu
  • Số thứ tư chỉ định quyền cho mọi người khác
Các giá trị có thể có (để đặt nhiều quyền, hãy cộng các số sau):
  • 1 = quyền thực thi
  • 2 = quyền ghi
  • 4 = quyền đọc

Giá trị trả về.

  • umask () không có đối số chỉ đơn giản trả về umask hiện tại, ngược lại umask cũ được trả về.

Ghi chú.

  • Ghi chú: Tránh sử dụng chức năng này trong máy chủ web đa luồng. Tốt hơn là thay đổi quyền đối với tệp bằng chmod () sau khi tạo tệp. Sử dụng umask () có thể dẫn đến hành vi không mong muốn của các tập lệnh chạy đồng thời và chính máy chủ web vì chúng đều sử dụng cùng một umask.

Ví dụ.

Ví dụ # 1.

code.

<?php
$old = umask(0);
chmod("/path/some_dir/some_file.txt", 0755);
umask($old);

// Checking
if ($old != umask()) {
    die('An error occurred while changing back the umask');
}
?>

Thông tin thêm.

  • Sử dụng (cmask – umask) là một cách sai để tính toán mask mới:
    0022 - 0700 = 0656 WRONG
    0700 & ~0022 = 0700 CORRECT
    
    //Mã php đúng:
    <?php
    $rmask = ($cmask & ~$umask);
    ?>
  • Để thử nghiệm với các umasks and permissions, hãy sử dụng đoạn nhỏ này:
    <?
    $umask = 0012;
    $perm  = 0777;
    printf("umask: %04o perm: %04o result: %04o\n",
           $umask,$perm,$perm & (0777 - $umask));
    ?>
  • Đơn giản là umask có nghĩa là các quyền mặc định cho các tệp / thư mục mới:
    $ time = time () + 1500000; touch ($ cachedfile, $ time);
    Điều này đặt quyền mặc định cho người dùng, nhóm và những người khác tương ứng:
    • 0 – đọc, ghi và thực thi
    • 1 – đọc và viết
    • 2 – đọc và thực thi
    • 3 – chỉ đọc
    • 4 – viết và thực thi
    • 5 – chỉ viết
    • 6 – chỉ thực thi
    • 7 – không có quyền

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