PHP file_get_contents 如果 returns 错误

PHP file_get_contents and if returns false

我有一个来自 "file_get_contents()" 函数的变量。将此变量与 if 函数一起使用总是给出 false。

$content = file_get_contents($url);
echo $content; // Echos 1
if ($content == "1") {
    // It doesn't matter if I use 1, '1' or "1"
    echo "True";
}
else {
    echo "False"; // Always echos this one.
}

我认为在失败的情况下捕获错误可能会更好(http://php.net/manual/en/function.file-get-contents.php)

$content = file_get_contents($url);
if ($content === false) {
    echo "False"; // or throw exception
}

echo "True";

您的比较失败,因为 $content 与您想象的不一样。

很可能有 <html> 个标签或空白字符(如 \n)。

对您的内容进行 hexdump 以准确查看您从 file_get_contents 返回的内容。

Hex dump function implemented in PHP.

示例:

$content = file_get_contents($url);

hex_dump($content);

一旦你知道里面有什么 $content 你就可以相应地过滤它(评论中提到了 strip_tagstrim。)