URL存在给出“不存在”

时间:2011-09-21 12:34:29

标签: php

检查网址是否存在不是常规文件

Tried
1. file_exists - just a test, should not be for a url
2. empty
3. fopen

以上所有内容均为“不存在

if(fopen("http://www.google.com",r)){ echo "exists"; } else { echo "doesnot exist"; }

我已经用尽了为什么会发生这种情况。该文件已被授予777.代码正在从127.0.0.1进行测试。

这是页面上唯一的代码。我不想使用卷曲,并保持简单和正常的编码。在stackoverflow上检查了Google和其他问题

我想检查的是网址是否真实。

4 个答案:

答案 0 :(得分:2)

您需要在php.ini配置文件中启用allow_url_fopen。

答案 1 :(得分:1)

检查您的php.ini文件,确保您可以访问fopen函数。

此外,fopen中的前两个参数是字符串。所以你的命令的正确语法是:

if( fopen( "http://www.google.com", "r" ) !== false )

答案 2 :(得分:1)

也许php设置allow_url_fopen设置为false所以这不起作用。您是否尝试使用CURL并检查响应头?

答案 3 :(得分:1)

我在本地机器上运行了

if (fopen("http://www.google.nl", 'r')) {
    echo 'exists';
} else {
    echo 'no exists';
}

虽然你确实有一个错误(r不存在,但是被称为'r',除非你在别处定义它,否则这不是问题。

检查您当地的php配置和/或系统配置。 (可能是ini设置allow_url_fopen)