我有这段代码:
//A
if(condition1)
{
//B
if(condition2)
{
//C
}
}
和file_get_contents($ url)。我希望这个file_get_contents在" // C"中运行,但我注意到这一点:在A中正常工作,但同样的指令,如果放入" // B"或" // C",不起作用," condition1"和" condition2"两者都经过验证(当将其他指令放入B或C时,它们都有效)。我也试过这个try / catch语句,但没有成功:
try {
$content = file_get_contents($url);
if ($content === false) {
// THIS is always verified
}
} catch (Exception $e) {
// NEVER RUNS
}
我该怎么办?
答案 0 :(得分:0)
它永远不会进入catch,因为没有RUNTIME ERROR报告,函数在没有崩溃的情况下成功运行。
try {
$content = file_get_contents($url);
if ($content === false) {
AREA 1
}else{
AREA 2
}
} catch (Exception $e) {
AREA 3
}
如果成功阅读文件 - > AREA2
如果无法读取FOR ANY REASON文件(权限,找不到文件,任何内容) - > AREA1
如果在file_get_contents执行期间发生RUNTIME ERROR - >区域3