Đị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ốn | Mô tả |
---|---|
mask | Khô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ố:
|
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