php获取远程文件内容与大小的代码

1,PHP 获取远程文件内容的代码:
  1. <?   
  2. /**  
  3. 获取远程文件内容  
  4. @param $url 文件http地址  
  5. */   
  6. function fopen_url($url)   
  7. {   
  8. if (function_exists(‘file_get_contents‘)) {   
  9. $file_content = @file_get_contents($url);   
  10. elseif (ini_get(‘allow_url_fopen‘) && ($file = @fopen($url‘rb‘))){   
  11. $i = 0;   
  12. while (!feof($file) && $i++ < 1000) {   
  13. $file_content .= strtolower(fread($file, 4096));   
  14. }   
  15. fclose($file);   
  16. elseif (function_exists(‘curl_init‘)) {   
  17. $curl_handle = curl_init();   
  18. curl_setopt($curl_handle, CURLOPT_URL, $url);   
  19. curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,2);   
  20. curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);   
  21. curl_setopt($curl_handle, CURLOPT_FAILONERROR,1);   
  22. curl_setopt($curl_handle, CURLOPT_USERAGENT, ‘Trackback Spam Check‘); //引用垃圾邮件检查   
  23. $file_content = curl_exec($curl_handle);   
  24. curl_close($curl_handle);   
  25. else {   
  26. $file_content = ‘‘;   
  27. }   
  28. return $file_content;   
  29. }   
  30. ?>   
2,获取远程文件大小的php函数
  1. <?php   
  2. /** 
  3. * 获取远程文件大小 
  4. * edit by www.jbxue.com 
  5. */  
  6. function getFileSize($url){   
  7. $url = parse_url($url);   
  8. if($fp = @fsockopen($url[‘host‘],empty($url[‘port‘])?80:$url[‘port‘],$error)){   
  9. fputs($fp,"GET ".(empty($url[‘path‘])?‘/‘:$url[‘path‘])." HTTP/1.1\r\n");   
  10. fputs($fp,"Host:$url[host]\r\n\r\n");   
  11. while(!feof($fp)){   
  12. $tmp = fgets($fp);   
  13. if(trim($tmp) == ‘‘){   
  14. break;   
  15. }else if(preg_match(‘/Content-Length:(.*)/si‘,$tmp,$arr)){   
  16. return trim($arr[1]);   
  17. }   
  18. }   
  19. return null;   
  20. }else{   
  21. return null;   
  22. }   
  23. }   
  24. //调用方法  
  25. echo getFileSize("http://www.jbxue.com/images/logo.gif")   
  26. ?>   

php获取远程文件内容与大小的代码,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。