我有一个PHP脚本停止处理(似乎是)PHP警告。错误是一般的“PHP警告:fopen” - “无法打开流:没有这样的文件或目录”。
PHP应该停在这里吗?我只想到致命的错误?
有没有办法让它继续下去?
答案 0 :(得分:2)
不知道如何继续处理错误,但最好的方法是首先进行错误预防:
答案 1 :(得分:2)
发出警告但脚本继续执行。您的脚本停止的事实更可能与您之后尝试执行的处理有关,但与警告本身无关。
之前使用file_exists和is_readable的建议很好。
答案 2 :(得分:1)
是的,如果error_reporting()级别足够低,那应该是。
是的,有。在fopen
之前添加“@”会导致警告,如下所示:@fopen(...)
答案 3 :(得分:1)
As noted on the php documentation page,
如果打开失败,则会生成级别为E_WARNING的错误。您可以使用@来禁止此警告。
答案 4 :(得分:0)
除了Conrad Meyer在PHP手册中提到的内容之外:
$fres = @fopen('file.ext','w+');
if($fres){
// so anything you want with the file
}
错误时 fopen
返回false。如果在fopen上有一个错误被禁止并且您没有使用if($fres)
,则后续文件操作函数将抛出错误,指出$fres
不是有效的文件句柄。
答案 5 :(得分:-1)
即使它继续下去,该程序很可能不会按照预期的方式工作。无论如何,尝试处理异常:
try {
# code that may cause an error
}
catch( Exception $e ) {
# do error handling mechanism
}