php 获取文件大小

function getsize()
	{
		 $url = parse_url($url);
		if ($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error))
		{
			fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n");
            fputs($fp,"Host:$url[host]\r\n\r\n");
            while(!feof($fp))
            { 
                    $tmp = fgets($fp); 
                    if(trim($tmp) == '')
                    { 
                        break; 
                    }
                    else if(preg_match('/Content-Length:(.*)/si',$tmp,$arr))
                    { 
                        $size=trim($arr[1]); 
                        return $size;
                    } 
            }
			
		}
		else
		{
			exit('can not socket');
		}
	}


	function geturlsize()
	{

		$url="http://su.ap01.aws.af.cm/pic/";
		ob_start(); 
		$ch=curl_init($url);
		curl_setopt($ch, CURLOPT_HEADER, 1); 
		curl_setopt($ch, CURLOPT_NOBODY, 1);  
		$okay = curl_exec($ch);   
		curl_close($ch);  
		$head = ob_get_contents(); 
		ob_end_clean();    
		$regex = '/Content-Length:\s([0-9].+?)\s/';   
		$count = preg_match($regex, $head, $matches); 
		if (isset($matches[1]))    
	    {    
	        $size = $matches[1];    
	    }    
	    else    
	    {    
	        $size = 'unknown';    
	    }    
		return $size;

	}


function getu($url)
{
	$fCont = file_get_contents($url);  
	return strlen($fCont);  
}



你可能感兴趣的:(php 获取文件大小)