если вы отметите это руководство Вы увидите, filesize
метод не выдает исключение.
Возвращает размер файла в байтах или FALSE
(и генерирует ошибку уровня E_WARNING) в случае ошибки.
и, похоже, вы не включили сообщение об ошибке или директиву display_error
- вы этого не видите E_WARNING
Вы можете просто вызвать исключение вручную:
try {
// Check for file existence or throw exception.
if (!is_file($localPath)) {
throw new Exception($localPath.' does not exists');
}
return 'success';
}
catch(Exception $e) {
// here goes exception handling
}
Дополнительные советы (вне рамок вопроса) :
Нет логики проверять наличие файла повторяющимся способом.
Если файл загружен, он будет существовать, иначе вы никогда не загрузите его во время рекурсии.
Что если кто-то передаст ссылку на несуществующий файл?
Лучше просто скачай его и остановись с успехом или исключением.