PHP判断远程文件是否存在
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-27 15:18:30 浏览: 评论:0
我们要处理的是判断一个远程服务器文件是否是存在,而不是自己本同服务器目录了,如果判断远程服务器的文件上否存在我们需要使用到curl_init,fsockopen,fopen方法,下面我来给大家举例说明.
fopen函数
fopen() 函数打开文件或者 URL,如果打开失败,本函数返回 FALSE.
语法:fopen(filename) filename 规定要打开的文件或 URL.
从这个函数的说明来看是支持url的,代码如下:
- <?php
- $url = 'http://www.phpfensi.com/images/test.jpg';
- if( @fopen( $url, 'r' ) )
- {
- echo 'File Exits';
- }
- else
- {
- echo 'File Do Not Exits';
- }
- ?>
这样的写个人很不推荐,因为它这们很是浪费服务器性能资源的.
curl函数
PHP实例代码如下:
- <?php
- $url2 = 'http://www.phpfensi.com/test.jpg';
- $ch = curl_init();
- $timeout = 10;
- curl_setopt ($ch, CURLOPT_URL, $url2);
- curl_setopt($ch, CURLOPT_HEADER, 1);
- curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
- curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
- $contents = curl_exec($ch);
- //echo $contents;
- if (preg_match("/404/", $contents)){
- echo '文件不存在';
- }
- ?>
小提示,不过此函数需我服务器开启才可用.
推荐使用此方法,还有一种利用fsockopen 这种是专业的远程采集版了,代码如下:
- $url = "http://www.phpfensi.com/.gif";
- $info = parse_url($url);
- $fp = fsockopen($info['host'], 80,$errno, $errstr, 30);
- fputs($fp,"GET {$info['path']} HTTP/1.1rn");
- fputs($fp, "Host: {$info['host']}rn");
- fputs($fp, "Connection: closernrn");
- $headers = array();
- while(!feof($fp)) {
- $line = fgets($fp);
- if($line != "rn") {
- $headers[] = $line;
- }else {
- break;
- }
- }
- echo "<pre>";
- print_r($headers);
小提示,不过此函数需我服务器开启才可用.
Tags: PHP判断远程文件 是否存在
- 上一篇:php 读目录以列表形式展示实例
- 下一篇:php文件读写实例程序
相关文章
- ·PHP判断远程/网络文件是否存在实例总结(2014-07-17)
- ·php提前判断远程文件是否可用(2014-09-05)
- ·php判断文件是否存在file_exists 与 is_file详解(2013-11-29)
- ·php 判断目录下是否有文件存在(2014-06-29)
- ·PHP判断网络文件是否存在的方法(2021-05-16)
- ·php判断文件夹是否存在不存在则创建(2021-05-22)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)