الدالة mkdir()
في PHP
(PHP 4, PHP 5, PHP 7)
تنشئ الدالة mkdir()
مجلَّدًا جديدًا.
الوصف
bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = FALSE [, resource $context ]]] )
تحاول هذه الدالة إنشاء مجلَّد جديد في المسار pathname
المُعطى.
المعاملات
pathname
مسار المجلَّد المُراد إنشاؤه.
mode
أذونات المجلَّد الجديد، وقيمة هذا المعامل الإفتراضيَّة هي 0777 أي أوسع مجال لأذونات الوصول للمجلَّد. للمزيد من المعلومات حول الأذونات، راجع صفحة الدالة chmod()
.
ملاحظة: يُتجاهل المعامل mode
على منصات ويندوز.
الجدير بالملاحظة أنَّه يجب عليك غالبًا تمثيل الأذونات المُختارة باستعمال الأرقام في النظام الثماني إذ يجب بناءً على ذلك البدء بالرقم 0 دومًا. يمكن أيضًا تعديل الأذونات باستعمال القيمة umask
الحاليَّة التي يمكن تغييرها باستخدام الدالة umask()
.
recursive
السماح بإنشاء مجلَّدات متشعِّبة -مجلَّد داخل مجلَّد آخر- في المسار pathname
المعطى.
context
ملاحظة: أُضيف دعم المحتوى منذ إصدار PHP 5.0.0. راجع قسم المجرى (stream) للمزيد من الشرح عن المحتوى (context).
القيم المعادة
تُعاد القيمة TRUE
عند نجاح العمليَّة، أو القيمة FALSE
عند فشلها.
أمثلة
المثال 1: استعمال الدالة mkdir()
<?php
mkdir("/path/to/my/dir", 0700);
?>
المثال 2: استعمال الدالة mkdir()
مع المعامل recursive
<?php
// البنية المطلوبة للمجلد
$structure = './depth1/depth2/depth3/';
//mkdir() إلى الدالة recursive يجب من أجل إنشاء مجلدات ذات بنية متشعبة تمرير قيمة المعامل
if (!mkdir($structure, 0777, true)) {
die('Failed to create folders...');
}
// ...
?>
الأخطاء والاستثناءات
سيُولَّد خطأ من المستوى E_WARNING
إن كان المجلَّد المراد إنشاؤه موجودًا مسبقًا.
سيُولَّد خطأ من المستوى E_WARNING
إن كنت لا تملك صلاحيات لإنشاء المجلَّد في المسار المعطى، أي قد لا تسمح لك الأذونات بذلك.
ملاحظات
- ستُخزَّن نتيجة هذه الدالة. راجع الدالة
clearstatcache()
للمزيد من التفاصيل. - يمكن أن تُستعمل هذه الدالة بدءًا من إصدار PHP 5.0.0 مع بعض بروتوكلات الروابط (URL wrappers).
انظر أيضًا
- الدالة
is_dir()
: تتحقَّق إن كان مسار الملف أو المجلَّد المُمرَّر إليها مجلدًا. - الدالة
rmdir()
: تحذف مجلَّدًا محدَّدًا.