گرفتن حجم فایل راه دور

شروع موضوع توسط carp3 ‏9 ژانویه 2006 در انجمن PHP

  1. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    سلام برو بچز میخوام حجم یه فایل راه دور رو بدشت بیارم تو هدر ها هست اما نمیدونم چجوری این کارو کنم
    حجم فایل ها ممکنه به 4 گیگ هم برسه پس فکر کپی کردن در سرور و گرفتن حجم و پاک کردنو از فکرتون بیرون کنین !

    فکر کنم با Fsockopen بشه

    راستی با curl نمیخوام باشه
    سرورم پشتیبانی نمیکنه [​IMG]
     
  2. mamalionline

    mamalionline Registered User

    تاریخ عضویت:
    ‏5 ژانویه 2005
    نوشته ها:
    1,235
    تشکر شده:
    0
    محل سکونت:
    wp-config
  3. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    Note: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem. [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG] [​IMG]
     
  4. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    با CURL میشه ! :D البته اونم یکم توش شک دارم
    تست میکنم ببینم چی میشه !

    ضمناً یه سرور درست و حسابی بگیر که curl داشته باشه ! که بتونی از این جادوی برنامه نویسی استفاده کنی :D
     
  5. mamalionline

    mamalionline Registered User

    تاریخ عضویت:
    ‏5 ژانویه 2005
    نوشته ها:
    1,235
    تشکر شده:
    0
    محل سکونت:
    wp-config
    ها یک سرور معرفی که ارزونم باشه !!!
     
  6. iransbs

    iransbs کاربر تازه وارد

    تاریخ عضویت:
    ‏3 می 2005
    نوشته ها:
    471
    تشکر شده:
    0
    محل سکونت:
    ایران، مازندارن، ساری
    حالا بگم برای چی می خواد
    می خواد باند ویت من رو تموم کنه :D
    البته داریم با هم شوخی می کنیم :D عجب شوخیی هایی :D
     
  7. footbal
  8. Arash_j13

    Arash_j13 Registered User

    تاریخ عضویت:
    ‏18 فوریه 2005
    نوشته ها:
    778
    تشکر شده:
    2
    محل سکونت:
    مشهد
    چه جالب می دیشب داشتم اینو می نوشتم
    اما الان تو درایو های تحت لینوکسه برات فردا می زارم
    اگه هم عجله داری نوشتنش ساده است
    فقط لازمه با یه سوکت رو باز کنی و در خواست head رو بفرستی بقیه مثل اب خوردنه می تونی این عدد رو از توی هدر ها پیدا کنی
     
  9. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    خوب جالب هست کد رو اگه لفطف کنی بررسی کنیم ممنون می شیم
     
  10. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
  11. Arash_j13

    Arash_j13 Registered User

    تاریخ عضویت:
    ‏18 فوریه 2005
    نوشته ها:
    778
    تشکر شده:
    2
    محل سکونت:
    مشهد

    PHP:
    function file_len($url)
        {
            
    $u=parse_url($url);
            
    $addr=gethostbyname(@$u['host']);
            
    $socket = @socket_create(AF_INETSOCK_STREAMSOL_TCP) ;
            
            if (
    socket_last_error()<0)
            {
                
                return 
    false;
                
            }
            
    $in "HEAD $u[path] HTTP/1.1\r\n";
            
    $in .= "Host: $u[host]\r\n";
            
    $in .= "Connection: Close\r\n\r\n";
            @
    socket_write($socket$instrlen($in));
            
            
    $s="";
            while (
    $out = @socket_read($socket2048)) 
            {
                    
    $s.=$out;
            }
            
    $s=strtolower($s);
            
    $r=explode("\n",$s);
            
    $re=0;
            foreach (
    $r as $a)
            {
                if(
    strpos($a,"content-length:")!==false)
                {
                    
    $re=substr($a,15);
                    break;
                }
            }
            return 
    $re;
        
        }
    ببخشید دیر شد
    البته این کد جای کار هنوز داره
     
  12. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    ممنون می رم تست کنم
     
  13. mamalionline

    mamalionline Registered User

    تاریخ عضویت:
    ‏5 ژانویه 2005
    نوشته ها:
    1,235
    تشکر شده:
    0
    محل سکونت:
    wp-config
    ها خوب بید !
    موفق یاشی
     
  14. avajang.com .leftjee.ir.right
  15. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    خیلی ممنون !
    منم میرم تست کنم ببینم چی میشه !

    آقا من تو برنامه نویسی با socket یکم گیر دارم :D
    آموزشی چیزی ازش سراغ ندارین ؟ (کامل)
     
  16. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    اقا کار نکرد که با یه فایل مثال بزار شاید بد اجرا می کنم
     
  17. Arash_j13

    Arash_j13 Registered User

    تاریخ عضویت:
    ‏18 فوریه 2005
    نوشته ها:
    778
    تشکر شده:
    2
    محل سکونت:
    مشهد
    ببخشید
    یه خط جا افتاده بود اخه این تابع یه مشت کد بی ربط به موضوع هم وسطش داشت اونا رو که پاک کردم خط socket_connect م اشتباهی پاک شده بود
    این درسته

    PHP:
    function file_len($url)
        {
            
    $u=parse_url($url);
            
    $addr=gethostbyname(@$u['host']);
            
    $socket = @socket_create(AF_INETSOCK_STREAMSOL_TCP) ;
            @
    socket_connect($socket,$addr,80);
        if (
    socket_last_error()<0)
            {
                
                return 
    false;
                
            }
            
    $in "HEAD $u[path] HTTP/1.1\r\n";
            
    $in .= "Host: $u[host]\r\n";
            
    $in .= "Connection: Close\r\n\r\n";
            @
    socket_write($socket$instrlen($in));
            
            
    $s="";
            while (
    $out = @socket_read($socket2048)) 
            {
                    
    $s.=$out;
            }
            
    $s=strtolower($s);
            
    $r=explode("\n",$s);
            
    $re=0;
            foreach (
    $r as $a)
            {
                if(
    strpos($a,"content-length:")!==false)
                {
                    
    $re=substr($a,15);
                    break;
                }
            }
            return 
    $re;
        
        }
    این هم یه مثال ساده
     

    فایل های ضمیمه:

    • project.zip
      اندازه فایل:
      787 بایت
      نمایش ها:
      1
  18. hba

    hba کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏8 آگوست 2004
    نوشته ها:
    1,511
    تشکر شده:
    1
    محل سکونت:
    تهران-ونک-php-mysql
    خوب این که نوشتی یه فایل 1 کیلویی رو می زنه 507 چه طوری حجم رو داده؟
     
  19. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    این 507 بایت هست!
     
  20. carp3

    carp3 کاربر تازه وارد

    تاریخ عضویت:
    ‏15 آپریل 2005
    نوشته ها:
    1,321
    تشکر شده:
    1
    خوب چون به بایت میزنه
    یه سوال من الان به سروری دسترسی ندارم تا تست کنم این برنامه واسته فایل های پر حجم مشکلی نداره
    مثلا 40 گیگ
     
  21. Parsa_361

    Parsa_361 کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏5 آگوست 2005
    نوشته ها:
    889
    تشکر شده:
    10
    محل سکونت:
    Isfahan, php.ini
    :blink: :blink: :lol:
    تو تا حالا تو عمرت فایل 40 گیگابایتی دیدی ؟ :D
     
  22. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    آره :D
    یه بار یه بک آپ از ویندوز گرفتم دیدم! :D
     
zarpopخرید بک لینک