无法使用 [function.move-uploaded-file] CAKEPHP 将 tmp 文件移动到正确的文件夹


Unable to move tmp file to correct folder using [function.move-uploaded-file] CAKEPHP

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

我目前正在使用教程,但遇到了一些错误,尤其是移动文件。

错误 : 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;
}

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

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

我希望这有所帮助。