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

Checking Disk Free and Total Space قياس المساحة الكلية والمتاحة بـ disk_free_space

افحص مساحة القرص وأحجام الملفات وتواريخ تعديلها، وأدر الصلاحيات بـ chmod وfileperms، وانسخ وانقل واحذف الملفات بأمان في PHP 8.
1 صفوف تعليمية
PHP
0 مشاهدة

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

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

قبل توليد النسخ الاحتياطية الكبيرة أو تصدير الملفات الضخمة، افحص سعة القسم المتاحة والكلية عبر disk_free_space() وdisk_total_space().

  • تُرجع كلتا الدالتين عدد البايتات كعدد عشري float لضمان عدم حدوث طفح رقمي في الأقراص التي تبلغ سعتها عدة تيرابايت.
  • اقسم عدد البايتات على 1024 ** 3 (أو 1073741824) لتحويل البايتات الخام إلى جيجابايت مقروء (GiB).
  • تحقق دائماً من أن المساحة الحرة تتجاوز حداً آمناً قبل البدء بكتابة ملفات كبيرة.

تُرجع disk_free_space() وdisk_total_space() عدد البايتات العشري لنظام الملفات الذي يستضيف المجلد __DIR__.

مخطط توضيحي: محاكي صلاحيات الملفات والبيانات الوصفية التفاعلي (chmod / fileperms / unlink)
PHP
<?php
$dir = __DIR__;
$freeBytes = disk_free_space($dir);
$totalBytes = disk_total_space($dir);
$usedPct = round((1 - ($freeBytes / $totalBytes)) * 100, 1);
$freeGb = round($freeBytes / (1024 ** 3), 2);
echo "Free: " . ($freeGb > 0 ? "OK" : "LOW") . " | UsedPct: " . ($usedPct >= 0 ? "VALID" : "ERR") . "\n";