当前正在进行大修和大修,因此我不确定我是否有什么毛病?当前运行带有PHP7.2和Burzum Filestorage插件版本2.0.0的CakePHP3.6。
在该插件中,FileStorageBehaviour line 61中的方法如下:
protected function _isFileUploadPresent($entity) {
$field = $this->getConfig('fileField');
if ($this->getConfig('ignoreEmptyFile') === true) {
if (!isset($entity[$field]['error']) || $entity[$field]['error'] === UPLOAD_ERR_NO_FILE) {
return false;
}
}
return true;
}
但是,此时的$ entity看起来像这样:
object(ArrayObject)#692 (1) {
["storage":"ArrayObject":private]=>
array(1) {
["file"]=>
array(2) {
["tmp_name"]=>
string(14) "/tmp/phpAEzNZD"
["name"]=>
string(13) "image.jpg"
}
}
}
由于未设置$ entity ['file'] ['error'],因此if(!isset($ entity [$ field] ['error']位失败并返回false。
不确定是否应始终设置$ entity ['file'] ['error'],或者if语句应类似于if(isset($ entity [$ field] ['error'] && $ entity [$ field] ['错误'] === UPLOAD_ERR_NO_FILE)吗?