PHP文件获取内容,如果返回false

PHP文件获取内容,如果返回false,php,if-statement,file-get-contents,Php,If Statement,File Get Contents,我有一个来自“file\u get\u 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"; // Alway

我有一个来自“file\u get\u 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.
}

我认为如果失败的话,最好抓住false()


您的比较失败,因为
$content
不是您认为的内容

很可能存在
标记或空白字符(如
\n

对您的内容进行hexdump,以准确查看您从
文件\u get\u contents
中得到的内容

例如:

$content=file\u get\u contents($url);
十六进制转储($content);

一旦你知道了
$content
里面的内容,你就可以相应地对它进行过滤(注释中提到了
strip\u标签
trim

var\u dump($content)确保“1”中没有空格。尝试trim($content)=“1”如果你得到一个URL的内容,它很可能包含
和其他标记。它们不会出现在屏幕上,但它们仍然存在。正如tkausl所说,var_dump。或者尝试
if(trim(strip\u tags($content))==1
这将删除html标记和额外的空白。最有可能的
$content
是“1\n”(
1
后跟一个换行符)。此外,请确保成功从url获取文件内容。如果失败,则返回FALSE。
$content = file_get_contents($url);
if ($content === false) {
    echo "False"; // or throw exception
}

echo "True";