> 有必要考慮不是post請(qǐng)求或沒有指定enctype="multipart/form-data"的情況。如果是post請(qǐng)求還是設(shè)置了正確的編碼,沒有文件上傳時(shí) request()->file('文件字段域') 會(huì)拋出異常,捕獲該異常即可。 **ThinkPHP6.0 判斷是否有文件上傳** ```php // 捕獲異常 try { // 此時(shí)可能會(huì)報(bào)錯(cuò) // 比如:上傳的文件過大,超出了配置文件中限制的大小 $file = request()->file('img'); // 如果表單沒有設(shè)置文件上傳需要的編碼 $file始終是null if (is_null($file)) { // 請(qǐng)檢查請(qǐng)求類型和表單編碼 // 不是post請(qǐng)求或沒有指定enctype="multipart/form-data"會(huì)進(jìn)入這里 throw new \think\Exception('沒有文件上傳'); } } catch (\think\Exception $e) { // 獲取異常錯(cuò)誤信息 halt($e->getMessage()); } ``` **如果表單請(qǐng)求類型是 `get`或沒有指定 `enctype="multipart/form-data"`** ```php request()->file('img');//始終返回 null ``` ```html <form action="" method="post"> <input type="file" name="img"> <button>立即上傳</button> </form> ```