انتقل إلى محتوى الدرس

Creating and Removing Directories إنشاء وحذف المجلدات بـ mkdir و rmdir و is_dir

اقرأ وصدّر جداول CSV عبر fgetcsv وfputcsv، وأدر المجلدات والمسارات بأمان باستخدام scandir وglob وpathinfo في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

أدِر مجلدات التخزين في تطبيقك برمجياً باستخدام is_dir() والإنشاء المتداخل عبر mkdir() والحذف عبر rmdir().

  • افحص الشرط !is_dir($dir) قبل إنشاء المجلد حتى لا يصدر PHP تحذيراً إذا كان المجلد موجوداً بالفعل.
  • مرّر القيمة true للمعامل الثالث (recursive) في mkdir($dir, 0755, true) لإنشاء سلسلة المجلدات الأبوية المتداخلة في خطوة واحدة.
  • لا تحذف الدالة rmdir($dir) إلا المجلدات الفارغة تماماً؛ لذا يجب حذف أي ملفات بداخلها عبر unlink() أولاً.

تنشئ mkdir($nested, 0755, true) المجلد الأساسي والمجلد الفرعي 2026 معاً، ثم تحذفهما rmdir() من الأعمق إلى الأعلى.

مخطط تدفق التنفيذ العملي لقسم إنشاء وحذف المجلدات بـ mkdir و rmdir و is_dir في لغة PHP
PHP
<?php
$base = sys_get_temp_dir() . '/ct_exports_' . getmypid();
$nested = "$base/2026";
if (!is_dir($nested)) {
    mkdir($nested, 0755, true);
}
$created = is_dir($nested);
rmdir($nested);
rmdir($base);
echo "Nested created: " . ($created ? 'yes' : 'no') . " | Cleaned: " . (!is_dir($base) ? 'yes' : 'no') . "\n";