4

我想检查 url http://example.com/file.txt 在 php 中是否存在。我该怎么做?

4

5 回答 5

4
if(! @ file_get_contents('http://www.domain.com/file.txt')){
  echo 'path doesn't exist';
}

这是最简单的方法。如果您不熟悉@,那将指示函数返回 false 否则它会抛出错误

于 2012-11-05T05:30:51.607 回答
3

将使用 PHP curl 扩展:

$ch = curl_init();                                  // set up curl
curl_setopt( $ch, CURLOPT_URL, $url );              // the url to request
if ( false===( $response = curl_exec( $ch ) ) ){    // fetch remote contents
    $error = curl_error( $ch );                  
    // doesn't exist
}
curl_close( $ch );                                  // close the resource
于 2012-11-05T05:31:41.067 回答
0
$filename="http://example.com/file.txt";    

if (file_exists($filename)) {
   echo "The file $filename exists";
} else {
   echo "The file $filename does not exist";
} 

或者

if (fopen($filename, "r"))
{
   echo "File Exists"; 
}
else
{
   echo "Can't Connect to File";
}
于 2012-11-05T05:32:17.690 回答
0

在Ping 站点上尝试此功能并以 PHP 形式返回结果。

function urlExists($url=NULL)  
    {  
        if($url == NULL) return false;  
        $ch = curl_init($url);  
        curl_setopt($ch, CURLOPT_TIMEOUT, 5);  
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
        $data = curl_exec($ch);  
        $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);  
        curl_close($ch);  
        if($httpcode>=200 && $httpcode<300){  
            return true;  
        } else {  
            return false;  
        }  
    }
于 2012-11-05T05:33:33.977 回答
0

我同意回复,我通过这样做获得了成功

$url = "http://example.com/file.txt";       
if(! @(file_get_contents($url))){
    return false;
}
$content = file_get_contents($url);
return $content;

您可以按照代码检查文件是否存在于该位置。

于 2014-11-21T09:57:20.577 回答