لديك حساب بالفعل؟ دخول
دخول  سجل الأن 
التحكم في حجم مجلد احد الاعضاء في رفع الملفات
كيف اتحكم في حجم مجلد احد الاعضاء في رفع الملفات عبر لغه php ؟

لنفرض ان عندي عضو اسمه Ali

ولديه مجلد اسمه folder

بحيث ان Ali يقوم بتحميل ملفاته في الموقع الى المجلد المذكور ...

كيف اجعل حد هذا المجلد فقط 100 ميجابايت ؟؟

ولو اراد تحميل اكثر من مساحة المجلد تفشل عمليه التحميل ..
تاريخ البداية: 7 / فبراير / 2012 الساعة 17:48 اخر نشاط: 7 / فبراير / 2012 الساعة 22:55 up

هل تقصد بكلمة مجلد انه مجلد فعلا موجود بالموقع ام افتراضيا وتحدد مجلد العضو عن طريق الاى دى وجدول فى قاعدة البيانات .. ارجو توضيح المعطيات
7 / فبراير / 2012 الساعة 18:15

لكل عضو من الاعضاء مجلد خاص فيه يحمل عليه ملفاته ..
7 / فبراير / 2012 الساعة 18:34

2 إجابات
شكرا على المثال الرائع

تحياتي لك

بواسطة: jawalnet
منذ: 7 / فبراير / 2012 الساعة 22:55

بكل سهولة عليك حساب الحجم الحالى للعضو سواء كانت الملفات فى مجلد واقعى او فى جدول فى قاعدة البيانات ومقارنتهم بالحجم المسموح به وهذه اكواد قد تساعدك
<?php
    $units = explode(' ', 'B KB MB GB TB PB');
    $SIZE_LIMIT = 5368709120; // 5 GB
    $disk_used = foldersize("/webData/users/[email protected]");

    $disk_remaining = $SIZE_LIMIT - $disk_used;

    echo("<html><body>");
    echo('diskspace used: ' . format_size($disk_used) . '<br>');
    echo( 'diskspace left: ' . format_size($disk_remaining) . '<br><hr>');
    echo("</body></html>");


function foldersize($path) {
    $total_size = 0;
    $files = scandir($path);
    $cleanPath = rtrim($path, '/'). '/';

    foreach($files as $t) {
        if ($t<>"." && $t<>"..") {
            $currentFile = $cleanPath . $t;
            if (is_dir($currentFile)) {
                $size = foldersize($currentFile);
                $total_size += $size;
            }
            else {
                $size = filesize($currentFile);
                $total_size += $size;
            }
        }   
    }

    return $total_size;
}


function format_size($size) {
    global $units;

    $mod = 1024;

    for ($i = 0; $size > $mod; $i++) {
        $size /= $mod;
    }

    $endIndex = strpos($size, ".")+3;

    return substr( $size, 0, $endIndex).' '.$units[$i];
}

?>

بواسطة: molhm
منذ: 7 / فبراير / 2012 الساعة 18:37

أنشر اجابتك

xهل تريد الاجابة عن هذا السؤال؟ من فضلك سجل دخول او اشترك لتتمكن من الاجابة