php - 文件获取内容返回 false

标签 php mysql sql

所以我试图让用户验证他们是否拥有该域。所以我生成了一个文件并让他们将其上传到他们的网站。所以我必须验证它,所以我要做的是

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 格式。以及一个已验证的列,该列为 10。有任何想法吗?

最佳答案

根据我从超过 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/

相关文章:

php - 使用一个连接读取 FTP 目录中每个文件的内容

php - 在新选项卡中打开外部 WooCommerce 产品 - 添加属性目标 ="_blank"

javascript - Jquery错误通过get发送十六进制代码

PHPMailer 每第 75 个字符插入 '=' 等号

SQL帮助: find rows in one table which don't exist in second table based on values in two columns

MySQL GROUP BY 使用 where 子句查找重复项

mysql - Mamp - MySql 无法启动

mysql - 使用 like 和 not like MySql 选择值时出错

mysql - 使用mysql查看2个不同列的数据

mysql - 查询运行太慢