الدالة umask()‎ في PHP

من موسوعة حسوب
< PHP

(PHP 4, PHP 5, PHP 7)

تغيِّر الدالة umask()‎ قيمة القناع umask الحاليَّة.

الوصف

int umask ([ int $mask ] )

تضبط هذه الدالة قيمة القناع umask في PHP إلى القيمة mask & 0777 ثمَّ تعيد قيمة umask السابقة. عندما تُستعمل PHP كوحدة من وحدات الخادم، فستُستعاد قيمة umask عند انتهاء كلِّ طلب.

المعاملات

mask

قيمة umask الجديدة.

القيم المعادة

تُعاد قيمة umask الحاليَّة إن لم يُمرَّر أيُّ معامل، أو ستُعاد قيمة umask السابقة خلافًا لذلك.

أمثلة

المثال 1: استعمال الدالة umask()‎

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

// إجراء عملية التحقق
if ($old != umask()) {
    die('An error occurred while changing back the umask');
}
?>

ملاحظات

تجنَّب استعمال هذه الدالة مع خوادم الويب متعدِّدة الخيوط (multithreaded). من الأفضل تغيير أذونات الملف باستعمال الدالة chmod()‎ بعد إنشاء الملف. يمكن أن يؤدِّي استعمال الدالة umask()‎ آنذاك إلى سلوك غير متوقع للسكربتات التي تعمل في آن واحد ولخادم الويب بذاته لأنها تستعمل جميعها القيمة umask نفسها.

مصادر