用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

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

时间:2015-01-23  来源:西部数据  作者:西部数据

如果我们要判断远程文件是否存可以使用很多方法,在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.   ?> 
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门