файл — PHP попробуй поймать блок не ловит

Я хотел бы открыть файл в 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): не удалось открыть
поток: нет такого файла или каталога в […] \ bewerbungToDB.php на линии
11

6

Решение

Это не исключение. Это предупреждение PHP. Try / catch предназначен только для ловли исключений. Если вы хотите «поймать» эту ошибку, вы должны проверить значение $file_handle и если это ложно, бросить исключение.

try
{
$file_handle = @fopen("uploads/".$filename."","r");
if (!$file_handle) {
throw new Exception('Failed to open uploaded file');
}
}
catch (Exception $hi)
{
die("Fehler");
}
14

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]