我想用PHP打开一个文件,我要做的第一件事是检查它是否存在。因此我将它添加到try catch块中,因此脚本不会崩溃。如果文件不存在,脚本应该停止。
以下代码给出了错误消息the file could not be opened
。
(由于测试原因,该文件不存在)
try
{
$file_handle = fopen("uploads/".$filename."","r");
}
catch (Exception $hi)
{
die("Fehler");
}
这是我浏览器中显示的错误:
警告:fopen(uploads / Testdatensatz_Bewerbungenn.csv):无法打开 stream:[...] \ bewerbungToDB.php中没有这样的文件或目录 11
答案 0 :(得分:15)
那不是例外。这是一个PHP警告。 Try / catch仅用于捕获异常。如果你想"赶上"那个错误你应该检查$file_handle
的值,如果是false就抛出异常。
try
{
$file_handle = @fopen("uploads/".$filename."","r");
if (!$file_handle) {
throw new Exception('Failed to open uploaded file');
}
}
catch (Exception $hi)
{
die("Fehler");
}