PHP文件获取内容,如果返回false
我有一个来自“file\u get\u contents()”函数的变量。如果将此变量与if函数一起使用,则始终会给出falsePHP文件获取内容,如果返回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
$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";