السلام عليكم ورحمة الله وبركاته
هل هناك كود أو دالة أعرف من خلالها المساحة الخالية من المساحة المخصصة لي عند شركة الاستضافة
وجزاكم الله خيرا
السلام عليكم ورحمة الله وبركاته
هل هناك كود أو دالة أعرف من خلالها المساحة الخالية من المساحة المخصصة لي عند شركة الاستضافة
وجزاكم الله خيرا
لمعرفة المساحة الكلية يمكنك استخدام الدالة التالية
function diskTotspace($dir)
{
$ds = disk_total_space($dir);
$dsMega = $ds/1024/1024 ;
return intval($dsMega);
}
//path root dir to the function
echo 'Disk Space : '.diskTotspace('/').' MB <br />';ولمعرفة المساحة الشاغرة يمكنك استخدام الدالة التالية
function diskFspace($dir)
{
$dfs = disk_free_space($dir);
$dfsMega = $dfs/1024/1024 ;
return intval($dfsMega);
}
//path root dir to the function
echo 'Free Space : '.diskFspace('/').' MB <br />';ولمعرفة المساحة المشغولة يمكن الطرح ما بين الدالتين
$usedspace = diskTotspace('/') - diskFspace('/') ;
echo 'Used Space : '.$usedspace.' MB <br />';علما انى حولت البايت لميجا بايت فى كل من الدوال و يمكنك حذف التحويل و استخدام الدوال الاتية لارجاع المساحات بالبايات
//to get your free space
$dfs = disk_free_space('/');
//to get disk space
$ds = disk_total_space('/');
//to get used space
$usedspace = $ds - $dfs ;Life is not the amount of breaths you take, it's the moments that take your breath away
السلام عليكم ورحمة الله وبركاته
أخي الكريم
جزاك الله خيرا
لكن للأسف لم يفلح معي هذا الكود
حيث أنه أعاد لي مقدار مساحة أكبر من إجمالي المساحة الخاصة بي
أعتقد أن هذا الكود يصلح مع الموقع عندما يكون مستضاف على سيرفر خاص به فقط
أما في حالتي وهي
Shared Hosting
فأعتقد أنه لايصلح
بانتظار ردك أخي الفاضل
لعله يكون عندك حل لمشكلتي
تحياتي
بارك الله فيك
والسلام عليكم ورحمة الله وبركاته
تم تعديل هذه المشاركة بواسطة أبو ذر المصري في 12 سبتمبر 2011 في 22:39
ادخل على لوحة التحكم Cpanel تبع الموقع وستجد كامل التفاصيل عن المساحة والباندويث
السلام عليكم ورحمة الله وبركاته
جزالك الله خيرا
لكنني أحتاجها في شكل كود
وسبب ذلك
أنني أقوم بإنشاء ملفات كاش بشكل تلقائي للصفحات التي يفتحها الزوار
وأحيانا لايكون هنا مساحة خالية عندي بسبب ملفات الكاش تلك
ويتسبب ذلك في أن تكون آخر صفحة تم إنشاء ملف كاش لها تكون مشوهة بسبب عدم وجود مساحة كافية لها عند إنشائها
ولذلك أريد كودا يمنع إنشاء ملف الكاش عندما تكون المساحة الخالية أقل من واحد ميجا مثلا
أرجو أن أجد الحل عندك أخي الفاضل
والسلام عليكم ورحمة الله وبركاته
أخي الكريم
أنت تحتاج لحساب المساحة الخالية في استضافتك والتي هي جزء من المساحة على القرص الصلب لمزود الاستضافة بالنسبة لك
الكود السابق للأخ الكريم فؤاد يقوم بحساب المساحة للقرص الصلب
واقتراحي هو حساب مساحة المجلد الذي يخصك ثم طرح هذه المساحة مما هو مخصص لك
وهذا هو كود حساب مساحة مجلد معين ، ومعرفة عدد الملفات والمجلدات الموجودة به
<?php
function getDirectorySize($path)
{
$totalsize = 0;
$totalcount = 0;
$dircount = 0;
if ($handle = opendir ($path))
{
while (false !== ($file = readdir($handle)))
{
$nextpath = $path . '/' . $file;
if ($file != '.' && $file != '..' && !is_link ($nextpath))
{
if (is_dir ($nextpath))
{
$dircount++;
$result = getDirectorySize($nextpath);
$totalsize += $result['size'];
$totalcount += $result['count'];
$dircount += $result['dircount'];
}
elseif (is_file ($nextpath))
{
$totalsize += filesize ($nextpath);
$totalcount++;
}
}
}
}
closedir ($handle);
$total['size'] = $totalsize;
$total['count'] = $totalcount;
$total['dircount'] = $dircount;
return $total;
}
function sizeFormat($size)
{
if($size<1024)
{
return $size." bytes";
}
else if($size<(1024*1024))
{
$size=round($size/1024,1);
return $size." KB";
}
else if($size<(1024*1024*1024))
{
$size=round($size/(1024*1024),1);
return $size." MB";
}
else
{
$size=round($size/(1024*1024*1024),1);
return $size." GB";
}
}
//لاستخدام الدالة لحساب حجم المجلد الذي يحتوي على الملف
$path="./";
$ar=getDirectorySize($path);
echo "<h4>Details for the path : $path</h4>";
echo "Total size : ".sizeFormat($ar['size'])."<br>";
echo "No. of files : ".$ar['count']."<br>";
echo "No. of directories : ".$ar['dircount']."<br>";
?>يحتوي الكود السابق على دالة للتحويل إلى كيلوبايت وميجا بايت وجيجا بايت أيضا
وفكرة الكود سهلة جدا وهي حساب حجم كل ملف داخل المجلد وهو بالتالي حجم المجلد
كما يقوم بعدّ الملفات وكذلك عدّ المجلدات
ولا ينقصني سوى دعاؤكم
التغير هو القانون الدائم للحياة.ودوام الحال من المحال
فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟
إن لم يساعد كاتب الموضوع نفسه بإجابةٍ عن الاستفسارات الموجودة باللون الأحمر تحت بعض ردوده(والتي أولها كان بذات تاريخ فتح الموضوع), فقد لا يفيد معه أي script يقدم إليه في حساب المساحة المستخدمة بدقة,
فحساب المساحة مع cpanel وغيرها مثلا, لا يتوقف على حساب حجم الملفات الموجودة لديه, بل يضاف عليها حجم قواعد البيانات, فأي ملف تحت ملكية الـ User الخاص به على النظام يحسب حجمه من ضمن المساحة الخاصة به, خصوصاً في حال كان هناك PHP acceleration على السيرفر فجميع الملفات المتولدة عن الموقع الخاص به و الموجودة في كاش الـ Accelerator سيحسب حجمها من ضمن مساحته, جميع الملفات الموجودة في tmp النظام والمتولدة عن الـ sessions المفتوحة على الموقع الخاص به ستكون تحت ملكية الـ User الخاص به فحجمها محتسب ضمن مساحته(صحيح أنها ملفات مؤقتة ولكن هذا لا يعني أنها قد تكون معدومة التواجد بل هي دائمة التواجد ولكن حجمها متغير وقد سببت في كثير من الأحيان الوصول إلى over quota عند كثير من اصحاب الاستضافات)
فمسألة حساب استهلاك المساحة الخاصة بك بدقة قد لا يكون بالسهولة التي تتوقعها!
على كل حال إن كنت تعمل على Cpanel فهذا الـ Class سيفيدك في الوصول إلى الكثير من المعلومات المفيدة حول استضافتك
إن كنت تعمل مع غيرها ابحث عن أي api تقدمه لوحة التحكم للحصول على هذه المعلومة أو اذكر اسمها هنا حتى نحاول معرفة الخوارزمية المناسبة لحساب المساحة المستهلكة
بتوفيق الله...
تم تعديل هذه المشاركة بواسطة MoHaMMaD Pro في 14 سبتمبر 2011 في 03:07
Everything will be fine when we TALK LESS, DO MORE
+1 للأخ محمد برو ..
ربي يوفقك ..
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…