没有错误字段的文件实体会导致Burzum / Filestorage将文件视为不存在?

时间:2019-01-14 17:16:48

标签: php cakephp cakephp-3.0

当前正在进行大修和大修,因此我不确定我是否有什么毛病?当前运行带有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)吗?

0 个答案:

没有答案