0

我正在尝试使用 cakephp 上传文件

我目前正在使用教程,但遇到了一些错误,尤其是 move-uplaoded-file。

错误 :Indirect modification of overloaded property UploadsController::$data has no effect

我看到我的上传确实创建了一个包含信息详细信息的数组,它只是没有将它传递给数据库或移动 tmp 文件。

这是我的上传功能:

function uploadFile() {
    $file = $this->data['Upload']['file'];
    if ($file['error'] === UPLOAD_ERR_OK) {
        $id = String::uuid();
        if (move_uploaded_file($file['tmp_name'] , APP . 'uploads'.DS.$id)) {
            $this->data['Upload']['uploadID'] = $id;
            $this->data['Upload']['fileName'] = $file['name'];
            $this->data['Upload']['fileSize'] = $file['size'];
            $this->data['Upload']['fileType'] = $file['type'];
            return true;
        }
    }
    return false;
}

任何帮助都会很棒,谢谢!

4

1 回答 1

2

为了获取表单发送的数据(在您的情况下是文件本身),您必须使用 $this->request->data而不是$this->data.

我希望这有帮助。

于 2013-02-03T15:54:48.280 回答