Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 检查HTML页面是否存在_Php_Fopen - Fatal编程技术网

Php 检查HTML页面是否存在

Php 检查HTML页面是否存在,php,fopen,Php,Fopen,我想检查另一个站点上是否存在HTML页面。更确切地说,我的用户需要将一个.html页面上传到他们自己的网站上,然后他们需要在我的网站上按“立即验证”。然后,我的站点需要确认他们的站点上存在html页面 我发现这个代码: $url = 'http://domain.tld/my_page.html'; $handle = @fopen($url,'r'); if($handle !== false){ echo 'Page Exists'; } else { echo 'Page N

我想检查另一个站点上是否存在HTML页面。更确切地说,我的用户需要将一个.html页面上传到他们自己的网站上,然后他们需要在我的网站上按“立即验证”。然后,我的站点需要确认他们的站点上存在html页面

我发现这个代码:

$url = 'http://domain.tld/my_page.html';
$handle = @fopen($url,'r');
if($handle !== false){
   echo 'Page Exists';
}  else {
   echo 'Page Not Found';
}
但如果my_page.html不存在,则此代码返回的仅是页面存在。

编辑1: 抱歉打扰了。。。不要先问这个问题

您需要了解服务器将以任何方式进行响应。您只需要检查然后响应的代码,而不是响应文本。或者解析文本

在您的情况下,服务器回答如下:

Object not found!

 The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again. 

 If you think this is a server error, please contact the webmaster. 
Error 404
work.local
Thu Jul 28 13:22:49 2011
 Apache/2.2.15 (Linux/SUSE)
编辑2: 您可能希望更好地使用而不是fopen来检查文件是否存在

编辑1: 抱歉打扰了。。。不要先问这个问题

您需要了解服务器将以任何方式进行响应。您只需要检查然后响应的代码,而不是响应文本。或者解析文本

在您的情况下,服务器回答如下:

Object not found!

 The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again. 

 If you think this is a server error, please contact the webmaster. 
Error 404
work.local
Thu Jul 28 13:22:49 2011
 Apache/2.2.15 (Linux/SUSE)
编辑2:
您可能希望更好地使用而不是fopen来检查文件是否存在

假设您的PHP中安装了curl扩展名,我认为这是目前为止最好的选择:

假设在PHP中安装了curl扩展,我认为这是目前为止最好的选择:
如果资源不存在,Web服务器将返回404 HTTP状态代码。资源是您问题中的html文件

您可以向服务器发出head请求以了解状态,也可以只是get请求

PHP也为该操作内置了一个函数,称为:


如果资源不存在,Web服务器将返回404HTTP状态代码。资源是您问题中的html文件

您可以向服务器发出head请求以了解状态,也可以只是get请求

PHP也为该操作内置了一个函数,称为:


是的,但例如,如果在.htaccess站点上有ErrorDocument 404,这将不起作用。如果服务器发送正确的响应头,它将始终起作用。404自身的ErrorDocument设置通常也是如此。但是,如果错误页面将响应头更改为200 OK,那么除了检查返回HTTP正文中的特定错误模式外,包含curl方法的任何内容都不会起作用。是的,但例如,如果打开.htaccess site have ErrorDocument 404,这将不起作用。如果服务器发送正确的响应头,它将始终起作用。404自身的ErrorDocument设置通常也是如此。但是,如果错误页面将响应头更改为200 OK,那么除了检查返回HTTP正文中的特定错误模式外,包含curl方法的任何操作都无效。谢谢,我找到了答案:谢谢,我找到了答案: