نمایش progress bar هنگام آپلود

clove-pink

کاربر فعال
سلام
دوستام من می خوام که در برنامه نویسی با php و آپلود فایل ، یک progress bar ایجاد کنم که میزان آپلود رو نمایش بده و این کار تنها با php قابل انجام نیست.
طبق تحقیق های من یک راه با استفاده از فریم ورک APC هست که من کلی روش کار کردم و آخر دیدم که سرور من اون رو حمایت نمی کنه و مسئولش هم گفت نصب نمی کنه:-?
یه راه دیگه استفاده از ای جکس هست که من تا حالا باهاش کار نکردم و اصلا نمی دونم چه جوری با php استفاده کنم.
منتها من اون کدی که عمل نمایش میزان فایل آپلودی رو نشون می ده پیدا کردم.
اگه دوستان بهم یه توضیحی راجع بهش بدن و اینکه چه جوری ازش استفاده کنم ممنون می شم!!!!

کد:
//Class to store read info
class ReadStatus{
    var $is_dir_error = 0;
    var $open_dir_error = 0;
    var $active = 0;
    var $uploaded_files = 0;
    var $bytes_uploaded = 0;
}

// Return the current size of the $_GET['temp_dir_sid'] - flength file size.
function GetBytesRead($temp_dir, $upload_id){
    $read_status = new ReadStatus;
    $temp_upload_dir = $temp_dir . $upload_id . '.dir';
    $flength_file = $temp_dir . $upload_id . '.dir/' . $upload_id . '.flength';

    if(is_dir($temp_upload_dir) && file_exists($flength_file)){
        if($handle = opendir($temp_upload_dir)){
            while(false !== ($file_name = readdir($handle))){
                if(($file_name != '.') && ($file_name != '..') && ($file_name != $flength_file)){
                    $read_status->bytes_uploaded += filesize($temp_upload_dir . '/' . $file_name);
                    $read_status->uploaded_files++;
                }
            }
            closedir($handle);

            $read_status->active = 1;

            if($read_status->uploaded_files > 0){ $read_status->uploaded_files -= 1; }
        }
        else{ $read_status->open_dir_error = 1; }
    }
    else{ $read_status->is_dir_error = 1; }

    return $read_status;
}
 

farik

Well-Known Member
با سلام..
دوست عزیز تو این اسکریپت تا اونجا که دستگیرم شد میاد و اول فایل رو در یک پوشه موقت اپلود میکنه و بعد از اپلود کامل کپی میکنه به یک فولدر دیگه.. با هر بار مشاهده صفحه اندازه همه فایلهایی که تو اون پوشه هستند..یعنی دارن اپلود میشن رو از نظر سایز اندازه میگیره..احتمالا باید در قسمت دیگه ای از کد هم حجم فایل رو در حجم موجود در ارایه $_fike تقسیم کنه که درصد اپلود شده بدست بیاد...
موفق باشید..
 

جدیدترین ارسال ها

بالا