控制器代碼
class Device
{
public function upload(Request $request)
{
$file = $request->file('file');
}
}
報(bào)錯如下:
[2022-01-21 15:11:14] default.ERROR: Undefined index: type {"exception":"ErrorException: Undefined index: type in /Users/chen/Code/www/webman/vendor/workerman/webman-framework/src/Http/Request.php:127
在Request.php 127行 parseFile 方法 print_r($file)
Array
(
[name] =>
[tmp_name] => /private/var/folders/zg/jt3t90p54t3199md1d3xdvq00000gn/T/workerman.upload.NdyqKR
[size] => 0
[error] => 7
)
/private/var/folders/zg/jt3t90p54t3199md1d3xdvq00000gn/T
看起來是這個目錄不可寫導(dǎo)致的
不是的,看錯誤是未定義的索引 type
parseFile方法的參數(shù)$file 只有name,tmp_name,size,error這四個key,臨時在support/Request 重寫了 parseFile 方法,把$file['type']改成了$file['size'],就不報(bào)錯啦
$file['type']改成了$file['size']
$file['type'] 和 $file['size'] 不是同一個屬性,不能改。
[error] => 7 ,這個上傳目錄不可寫錯誤碼
找到問題了,指定了參數(shù)file,但是沒提交上傳的文件,就報(bào)這個錯誤了;把 $file['type']
改成 isset($file['type']) ? $file['type'] : null
了,謝謝老大