程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP 獲取遠程文件大小的3種解決方法

PHP 獲取遠程文件大小的3種解決方法

編輯:關於PHP編程
    以下是對PHP中獲取遠程文件大小的3種解決方法進行了詳細的介紹,需要的朋友參考下  

    1、使用file_get_contents()

    復制代碼 代碼如下:
    <?php
    $file = file_get_contents($url);
    echo strlen($file);
    ?>


    2. 使用get_headers()

    復制代碼 代碼如下:
    <?php
    $header_array = get_headers($url, true);
    $size = $header_array['Content-Length'];
    echo $size;
    ?>


    PS:
    需要打開allow_url_fopen!
    如未打開會顯示
    Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration
    3.使用fsockopen()

    復制代碼 代碼如下:


    <?php
     function get_file_size($url) {
         $url = parse_url($url);

         if (empty($url['host'])) {
             return false;
         }

         $url['port'] = empty($url['post']) ? 80 : $url['post'];
         $url['path'] = empty($url['path']) ? '/' : $url['path'];

         $fp = fsockopen($url['host'], $url['port'], $error);

         if($fp) {
             fputs($fp, "GET " . $url['path'] . " HTTP/1.1rn");
             fputs($fp, "Host:" . $url['host']. "rnrn");

             while (!feof($fp)) {
                 $str = fgets($fp);
                 if (trim($str) == '') {
                     break;
                 }elseif(preg_match('/Content-Length:(.*)/si', $str, $arr)) {
                     return trim($arr[1]);
                 }
             }
             fclose ( $fp);
             return false;
         }else {
             return false;
         }
     }
     ?>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved