在PHP里面,如何检查一个远程文件是否存在?

sweetlxp 2003-10-13 02:39:05
在PHP里面,如何检查一个远程文件是否存在?用file_exists()函数,只能检查本地文件是否存在,那么如何检查远程文件是否存在呢?

急,在线等!
...全文
573 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweetlxp 2003-10-13
  • 打赏
  • 举报
回复
第一位说的方法,我试过了,不行。第二位的方法,如果文件不存在会出现WARNING信息,我原来就是那样打开文件的。我的目的是不想出现那些提示信息,虽然设置ERR_REPORTING(0);可以屏蔽信息,但是,我想找一个可行的寻找文件是否存在的方法。
ipman 2003-10-13
  • 打赏
  • 举报
回复
$fp = fopen("http://static.php.net/www.php.net/images/php.gif", "r");
if($fp){
echo "恭喜,文件存在!";
}else{
echo "文件不存在!";
}
myblessu 2003-10-13
  • 打赏
  • 举报
回复
首先,程序访问某个地址
如果能访问,返回一个结果
如果不能访问,则返回另外一个结果。


$url="www.163.com";
$fp = fsockopen($url,80);
if(!$fp) return "有错误,";
fputs($fp,"GET / HTTP/1.1 \nhost:".$url."\n\n");
$line = fgets($fp,1024);
if(eregi("HTTP/1.1 200",$line)) echo "====正常";
else echo "====失败";
fclose($fp);


其中。还可以判断更详细的结果。比如是401、404、500等。
注意 $url只是服务器名。
如果你要调试
http://www.163.com/test/test.jpg
那$url='www.163.com;
这:
fputs($fp,"GET / HTTP/1.1 \nhost:".$url."\n\n");

要改为
fputs($fp,"GET /test/test.jpg HTTP/1.1 \nhost:".$url."\n\n");


再加以修改还可以测试一些密码站点的密码是否可用!
(以上是我在CSDN的外女贴,希望对你有用)


完整的程序,就是在代码前加 <?php 和代码后加 ?>
try1:
<?php
$url="www.163.com";
$fp = fsockopen($url,80);
if(!$fp) return "有错误,";
fputs($fp,"GET / HTTP/1.1 \nhost:".$url."\n\n");
$line = fgets($fp,1024);
if(eregi("HTTP/1.1 200",$line)) echo "====正常";
else echo "====失败";
fclose($fp);
?>
try2:
<?php
$url="http://www.163.com"
if(!(file($url))){die("<br><font color=red>不能连接服务器,请稍后再试!!</font>");}
?>

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧