شرح صفوف ومحتوى الفقرة
قبل توليد النسخ الاحتياطية الكبيرة أو تصدير الملفات الضخمة، افحص سعة القسم المتاحة والكلية عبر disk_free_space() وdisk_total_space().
- تُرجع كلتا الدالتين عدد البايتات كعدد عشري
floatلضمان عدم حدوث طفح رقمي في الأقراص التي تبلغ سعتها عدة تيرابايت. - اقسم عدد البايتات على
1024 ** 3(أو1073741824) لتحويل البايتات الخام إلى جيجابايت مقروء (GiB). - تحقق دائماً من أن المساحة الحرة تتجاوز حداً آمناً قبل البدء بكتابة ملفات كبيرة.
تُرجع disk_free_space() وdisk_total_space() عدد البايتات العشري لنظام الملفات الذي يستضيف المجلد __DIR__.
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";