صفحه 2 از 3 نخستنخست 123 آخرینآخرین
نمایش نتایج: از شماره 11 تا 20 , از مجموع 22

موضوع: محدود کردن دانلود

  1. #11
    عضو انجمن be099 آواتار ها
    تاریخ عضویت
    May 2009
    محل سکونت
    ﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽
    نوشته ها
    338
    تشکر تشکر کرده 
    176
    تشکر تشکر شده 
    651
    تشکر شده در
    385 پست

    55 پاسخ : محدود کردن دانلود

    اینو میگید ؟


    کد:
    <?php
    // local file that should be send to the client
    $local_file = 'test-file.zip';
    // filename that the user gets as default
    $download_file = 'your-download-name.zip';
     
    // set the download rate limit (=> 20,5 kb/s)
    $download_rate = 20.5; 
    if(file_exists($local_file) && is_file($local_file)) {
        // send headers
        header('Cache-control: private');
        header('Content-Type: application/octet-stream'); 
        header('Content-Length: '.filesize($local_file));
        header('Content-Disposition: filename='.$download_file);
     
        // flush content
        flush();    
        // open file stream
        $file = fopen($local_file, "r");    
        while(!feof($file)) {
     
            // send the current file part to the browser
            print fread($file, round($download_rate * 1024));    
     
            // flush the content to the browser
            flush();
     
            // sleep one second
            sleep(1);    
        }    
     
        // close file stream
        fclose($file);}
    else {
        die('Error: The file '.$local_file.' does not exist!');
    }
    ?>

    منبع : PHP File download with speed limit


    تستم کردم خیلی باحاله سرعتو با $download_rate میتونید تنظیم کنید ولی لینک مستقیم نیست ،
    منظورتون از لینک مستقیم همون داشتن resume هست ؟

  2. تعداد تشکر ها ازbe099 به دلیل پست مفید


  3. # ADS




     

  4. #12
    عضو دائم
    تاریخ عضویت
    Oct 2008
    محل سکونت
    Neverland
    نوشته ها
    3,023
    تشکر تشکر کرده 
    1,897
    تشکر تشکر شده 
    8,821
    تشکر شده در
    4,186 پست

    پیش فرض پاسخ : محدود کردن دانلود

    منظورتون از لینک مستقیم همون داشتن resume هست ؟
    آره
    اینم داشته باشه محشره

  5. #13
    عضو انجمن be099 آواتار ها
    تاریخ عضویت
    May 2009
    محل سکونت
    ﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽
    نوشته ها
    338
    تشکر تشکر کرده 
    176
    تشکر تشکر شده 
    651
    تشکر شده در
    385 پست

    57 پاسخ : محدود کردن دانلود

    مدل resume دار (لینک مستقیم)
    با اندکی دخل و تصرف (رفع خطا) از
    Free PHP Scripts - Download file with resume, stream and speed options

    کد:
    <?php
    
    /* Tutorial by AwesomePHP.com -> www.AwesomePHP.com */
    /* Function: download with resume/speed/stream options */
    
    /*
        Parametrs: downloadFile(File Location, File Name,
        max speed, is streaming  
        If streaming - movies will show as movies, images as images
        instead of download prompt
    */
        
    function downloadFile($fileLocation,$fileName,$maxSpeed = 13,$doStream =
    false){
        if (connection_status()!=0) return(false);
        $extension = strtolower(end(explode('.',$fileName)));
    
        /* List of File Types */
        $fileTypes['swf'] = 'application/x-shockwave-flash';
        $fileTypes['pdf'] = 'application/pdf';
        $fileTypes['exe'] = 'application/octet-stream';
        $fileTypes['zip'] = 'application/zip';
        $fileTypes['doc'] = 'application/msword';
        $fileTypes['xls'] = 'application/vnd.ms-excel';
        $fileTypes['ppt'] = 'application/vnd.ms-powerpoint';
        $fileTypes['gif'] = 'image/gif';
        $fileTypes['png'] = 'image/png';
        $fileTypes['jpeg'] = 'image/jpg';
        $fileTypes['jpg'] = 'image/jpg';
        $fileTypes['rar'] = 'application/rar';    
        
        $fileTypes['ra'] = 'audio/x-pn-realaudio';
        $fileTypes['ram'] = 'audio/x-pn-realaudio';
        $fileTypes['ogg'] = 'audio/x-pn-realaudio';
        
        $fileTypes['wav'] = 'video/x-msvideo';
        $fileTypes['wmv'] = 'video/x-msvideo';
        $fileTypes['avi'] = 'video/x-msvideo';
        $fileTypes['asf'] = 'video/x-msvideo';
        $fileTypes['divx'] = 'video/x-msvideo';
    
        $fileTypes['mp3'] = 'audio/mpeg';
        $fileTypes['mp4'] = 'audio/mpeg';
        $fileTypes['mpeg'] = 'video/mpeg';
        $fileTypes['mpg'] = 'video/mpeg';
        $fileTypes['mpe'] = 'video/mpeg';
        $fileTypes['mov'] = 'video/quicktime';
        $fileTypes['swf'] = 'video/quicktime';
        $fileTypes['3gp'] = 'video/quicktime';
        $fileTypes['m4a'] = 'video/quicktime';
        $fileTypes['aac'] = 'video/quicktime';
        $fileTypes['m3u'] = 'video/quicktime';
    
        $contentType = $fileTypes[$extension];
        
        
        header("Cache-Control: public");
        header("Content-Transfer-Encoding: binary\n");
        header("Content-Type: $contentType");
    
        $contentDisposition = 'attachment';
        
        if($doStream == true){
            /* extensions to stream */
            $array_listen = array('mp3','m3u','m4a','mid','ogg','ra','ram','wm',
            'wav','wma','aac','3gp','avi','mov','mp4','mpeg','mpg','swf','wmv','divx','asf');
            if(in_array($extension,$array_listen)){ 
                $contentDisposition = 'inline';
            }
        }
    
        if (strstr($_SERVER['HTTP_USER_AGENT'], "MSIE")) {
            $fileName= preg_replace('/\./', '%2e', $fileName,
    substr_count($fileName, '.') - 1);
            header("Content-Disposition: $contentDisposition; filename=".$fileName);
        } else {
            header("Content-Disposition: $contentDisposition; filename=".$fileName);
        }
    
        header("Accept-Ranges: bytes");   
        $range = 0;
        $size = filesize($fileLocation);
        
        if(isset($_SERVER['HTTP_RANGE'])) {
            list($a, $range)=explode("=",$_SERVER['HTTP_RANGE']);
            str_replace($range, "-", $range);
            $size2=$size-1;
            $new_length=$size-$range;
            header("HTTP/1.1 206 Partial Content");
            header("Content-Length: $new_length");
            header("Content-Range: bytes $range$size2/$size");
        } else {
            $size2=$size-1;
            header("Content-Range: bytes 0-$size2/$size");
            header("Content-Length: ".$size);
        }
            
        if ($size == 0 ) { die('Zero byte file! Aborting download');}
        set_magic_quotes_runtime(0); 
        $fp=fopen("$fileLocation","rb");
        
        fseek($fp,$range);
    
        while(!feof($fp) and (connection_status()==0))
        {
            set_time_limit(0);
            print(fread($fp,1024*$maxSpeed));
            flush();
            ob_flush();
            sleep(1);
        }
        fclose($fp);
               
        return((connection_status()==0) and !connection_aborted());
    } 
    
    /* Implementation */
    downloadFile('fileLocation','fileName.ext',900,false); 
    
    ?>
    فقط اینکه وب سرویستون باید بتونه HTTP_RANGE بفرسته من روی لوکال تست کردم نداشت ولی روی سرورم تست کردم جواب داد

  6. تعداد تشکر ها ازbe099 به دلیل پست مفید


  7. #14
    عدم تائید ایمیل
    تاریخ عضویت
    Mar 2009
    نوشته ها
    98
    تشکر تشکر کرده 
    124
    تشکر تشکر شده 
    61
    تشکر شده در
    42 پست

    پیش فرض پاسخ : محدود کردن دانلود

    با سلام من این سیستم رو برای سایت p30film پیاده سازی کردم با این امکانات

    لینک غیر مستقیم و رندم با قابلیت resume
    محدود کردن پهنای باند روزانه هر کاربر بر اساس پلن انتخابی (مثلا در هر روز فقط 10 گیگ میتونه دانلود کنه)
    کنترل سرعت کاربر بر اساس kb
    سیستم مدیریت کاربران و نمایش مصرف کاربر در کنترل پنل کاربریش

    متاسفانه این سایت فیلتر شده. به همین خاطر صاحبانش این سایت را برای مدتی دان کردن تا تغییرات کلی توش ایجاد کنند.فکر کنم تا 2-3 روز دیگه بالا بیاد

  8. #15
    عضو دائم irlogo آواتار ها
    تاریخ عضویت
    Sep 2008
    نوشته ها
    1,013
    تشکر تشکر کرده 
    773
    تشکر تشکر شده 
    1,546
    تشکر شده در
    1,188 پست

    پیش فرض پاسخ : محدود کردن دانلود

    این رو در قالب چه فایلی و کجا باید قرار بدیم؟

  9. #16
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : محدود کردن دانلود

    نقل قول نوشته اصلی توسط irlogo نمایش پست ها
    این رو در قالب چه فایلی و کجا باید قرار بدیم؟
    زياد مهم نيست كجا باشه
    يك نمونه از استفادش در آخر فايل اومده
    کد PHP:
    downloadFile('fileLocation','fileName.ext',900,false); 
    filelocation : آدرس پوشه اي كه فايل هاي شما هستند.
    fileName.ext : نام فايل :: ميتونيد از طريق متد GET يا ... نام فايل رو بگيريد اما دقت كنيد كه نام فايل حتما بررسي و فـيلتر سازي بشه
    900 : حداثكر سرعت مجاز دانلود براي كاربر
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  10. تعداد تشکر ها ازRezash به دلیل پست مفید


  11. #17
    عضو دائم delta آواتار ها
    تاریخ عضویت
    Nov 2009
    محل سکونت
    مغازم
    نوشته ها
    1,270
    تشکر تشکر کرده 
    1,468
    تشکر تشکر شده 
    5,180
    تشکر شده در
    2,621 پست

    پیش فرض پاسخ : محدود کردن دانلود

    به جای این کار کاش یک طرحی میدادید که مثل رپیشیر باشه! مثلا وقتی یک کاربر دانلود میکنه تا 15 دقیقه نتونه دیگه دانلود کنه و بعدش یک لینک دیگر آزاد بشه! اینطوری میشه پریمیوم دارش کرد! کسی داره این اسکریپت یا کدش رو؟
    فروشگاه بازی , کنسول, لوازم دیجیتال دلتافوکس
    فروش و واردات محصولات در منطقه ازاد انزلی

  12. #18
    عضو دائم Rezash آواتار ها
    تاریخ عضویت
    Feb 2010
    محل سکونت
    مشهد
    نوشته ها
    1,923
    تشکر تشکر کرده 
    889
    تشکر تشکر شده 
    2,385
    تشکر شده در
    1,535 پست

    پیش فرض پاسخ : محدود کردن دانلود

    نقل قول نوشته اصلی توسط delta نمایش پست ها
    به جای این کار کاش یک طرحی میدادید که مثل رپیشیر باشه! مثلا وقتی یک کاربر دانلود میکنه تا 15 دقیقه نتونه دیگه دانلود کنه و بعدش یک لینک دیگر آزاد بشه! اینطوری میشه پریمیوم دارش کرد! کسی داره این اسکریپت یا کدش رو؟
    اسكريپت هاي آماده كه زياد هست و ميتونيد جستجو كنيد.
    اما در مورد نحوه نوشتن اصلا كار سختي نيست ، كافيه ip كاربر رو دريافت كنيد و زمان آخرين درخواست بهمراه آي پي رو در يك جدول در db ذخيره كنيد.
    هنگام ارسال درخواست جديد از سوي كاربر بررسي كنيد اگر زمان كنوني با زمان ذخيره شده در ديتابيس كمتر از 15*60 ثانيه اختلاف داشت ، اجازه دانلود به كاربر نديد.در واقع نياز به يك جدول و چند شرط داريم.
    بک آپ بگیرید قبل از آنکه پشیمان شوید!
    تشخیص سیستم مدیریت محتوای سایت - سایت شخصی

  13. #19
    عضو دائم --- آواتار ها
    تاریخ عضویت
    Oct 2010
    نوشته ها
    1,026
    تشکر تشکر کرده 
    649
    تشکر تشکر شده 
    1,600
    تشکر شده در
    991 پست

    پیش فرض پاسخ : محدود کردن دانلود

    How-To - Bandwidth Limiter For Apache2 (mod_bw) - DirectAdmin Forums
    Webserver Bandwidth Limiting in Apache
    http://bwmod.sourceforge.net/
    Bandwidth Limiting HOWTO
    mod_limitipconn.c
    بجز سومی بقیه رو خودم تست کردم و جواب داده اما اگه بخواید خودم انجام بدم که هزینه داره
    کاربر عزیز مشخصات سرور خود را بدون هماهنگی در پیغام خصوصی ارسال نفرمایید .
    مدیریت سرور های اختصاصی و مجازی همچنین خدمات مجازی سازی و کلودکامپیوتینگ انجام میشود. YAHOO - GMAIL

  14. #20
    عضو دائم delta آواتار ها
    تاریخ عضویت
    Nov 2009
    محل سکونت
    مغازم
    نوشته ها
    1,270
    تشکر تشکر کرده 
    1,468
    تشکر تشکر شده 
    5,180
    تشکر شده در
    2,621 پست

    پیش فرض پاسخ : محدود کردن دانلود

    نقل قول نوشته اصلی توسط Rezash نمایش پست ها
    اسكريپت هاي آماده كه زياد هست و ميتونيد جستجو كنيد.
    اما در مورد نحوه نوشتن اصلا كار سختي نيست ، كافيه ip كاربر رو دريافت كنيد و زمان آخرين درخواست بهمراه آي پي رو در يك جدول در db ذخيره كنيد.
    هنگام ارسال درخواست جديد از سوي كاربر بررسي كنيد اگر زمان كنوني با زمان ذخيره شده در ديتابيس كمتر از 15*60 ثانيه اختلاف داشت ، اجازه دانلود به كاربر نديد.در واقع نياز به يك جدول و چند شرط داريم.
    مطمعنید با اینترنت ایران میشه این کار رو کرد؟من خودم وقتی یکبار کانکشنم قطع میشه و وصل میشم آیپیم چنج میشه! آی پی استاتیک نیست که.. ولی این سایتهایی مثل رپیدشیر و ... با وجود تعویض آی پی هم انگار یکجورایی میفهمه و جلوگیری میکنه! مگر اینکه آی پی کشوری عوض بشه نفهمه!

    نقل قول نوشته اصلی توسط --- نمایش پست ها
    How-To - Bandwidth Limiter For Apache2 (mod_bw) - DirectAdmin Forums
    Webserver Bandwidth Limiting in Apache
    http://bwmod.sourceforge.net/
    Bandwidth Limiting HOWTO
    mod_limitipconn.c
    بجز سومی بقیه رو خودم تست کردم و جواب داده اما اگه بخواید خودم انجام بدم که هزینه داره
    تو هم که هر جا گیرت میاد هزینه میخوای!
    فروشگاه بازی , کنسول, لوازم دیجیتال دلتافوکس
    فروش و واردات محصولات در منطقه ازاد انزلی

صفحه 2 از 3 نخستنخست 123 آخرینآخرین

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •