所以我试图让用户验证他们是否拥有该域。所以我生成了一个文件并让他们将其上传到他们的网站。所以我必须验证它,所以我要做的是
file_get_contents($url.'/'.$token.'.html');
所有这些返回的是
bool(false)
这里是更多代码
$url = $_POST['url'];
//Get site info
$gin = $con->prepare("SELECT * FROM verify WHERE url = :url");
$gin->bindValue(':url', $url);
$gin->execute();
//Get token
$t = $gin->fetch(PDO::FETCH_ASSOC);
$token = $t['token'];
$url = $t['url'];
//Get content
var_dump(file_get_contents($url.'/'.$token.'.html'));
表中有3列token
,它是文件中的字符串。 url
显然是 url,它采用 example.com
格式。以及一个已验证的列,该列为 1
或 0
。有任何想法吗?
最佳答案
根据我从超过 100 万个域名获取第三方内容的经验,我不建议您使用 file_get_contents()
因为此 PHP 函数无法处理页面重定向、需要有效的用户代理等。您遇到的问题可能仅特定于某些域名。解决您的问题的更好方法是使用curl。
function download_content($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Firefox 32.0");
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
用法:
$returned_content = download_content('http://stackoverflow.com');
关于php - 文件获取内容返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25827167/