当前位置:首页 > PHP教程 > php文件操作 > 列表

PHP判断远程/网络文件是否存在实例总结

发布:smiling 来源: PHP粉丝网  添加日期:2014-07-17 10:49:55 浏览: 评论:0 

如果我们要判断远程文件是否存可以使用很多方法,在php中有ile_get_contents,curl, fsockopen,fopen这些函数都可以获取远程文件.

方法一,代码如下:

  1. <?php 
  2. $url = “http://www.phpfensi.com”; 
  3. $fileExists = @file_get_contents($url, null, null, -1, 1) ? true:false; 
  4. echo $fileExists//返回1,就说明文件存在。 
  5. ?> 

方法二,代码如下:

  1. //php判断远程文件是否存在 
  2. function url_exists($url){ 
  3.     $handle=curl_init($url); 
  4.     if(false===$handle){ 
  5.   return false; 
  6.     } 
  7.     curl_setopt($handle,CURLOPT_HEADER,false); 
  8.     curl_setopt($handle,CURLOPT_FAILONERROR,true); 
  9.     curl_setopt($handle,CURLOPT_NOBODY,true); 
  10.     curl_setopt($handle,CURLOPT_RETURNTRANSFER,false); 
  11.     $connectable=curl_exec($handle); 
  12.  
  13.     curl_close($handle);     
  14.     return $connectable

方法三,代码如下:

  1. function file_exists($url) {  
  2. $curl = curl_init($url);  
  3. // 不取回数据  
  4. curl_setopt($curl, CURLOPT_NOBODY, true);  
  5. // 发送请求  
  6. $result = curl_exec($curl);  
  7. $found = false; 
  8.  // 如果请求没有发送失败  
  9. if ($result !== false)  
  10. // 再检查http响应码是否为200 
  11.  } 

方法一无论图片在不在都是返回FALSE;

方法二windows下可行,LINUX下无论图片在不在都返加TRUE;

方法三应该是最合适的,代码如下:

  1. $url = "http://www.phpfensi.com";  
  2.   $info = parse_url($url);  
  3.   $fp = fsockopen($info['host'], 80,$errno$errstr, 30);  
  4.   fputs($fp,"GET {$info['path']} HTTP/1.1rn");  
  5.   fputs($fp"Host: {$info['host']}rn");  
  6.   fputs($fp"Connection: closernrn");  
  7.   $headers = array();  
  8.   while(!feof($fp)) {  
  9.   $line = fgets($fp);  
  10.   if($line != "rn") {  
  11.   $headers[] = $line;  
  12.   }else {  
  13.   break;  
  14.   }  
  15.   }  
  16.  
  17.   echo "<pre>";  
  18.   print_r($headers); 

方法四,代码如下:

  1. <?php  
  2.   $url = 'http://www.phpfensi.com';  
  3.  
  4.   if( @fopen$url'r' ) )  
  5.   {  
  6.       echo 'File Exits';  
  7.   }  
  8.   else 
  9.   {  
  10.       echo 'File Do Not Exits';  
  11.   }  
  12.   ?> 

Tags: PHP判断远程文件 是否存在

分享到: