Я пытаюсь загрузить файлы с помощью 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;
}

Любая помощь была бы замечательной, спасибо!

0
iwj145 3 Фев 2013 в 19:37
Проверить права доступа к папке ..
 – 
Deadlock
3 Фев 2013 в 19:38
Была папка в неправильном каталоге, но теперь появляется другая ошибка Indirect modification of overloaded property UploadsController::$data has no effect
 – 
iwj145
3 Фев 2013 в 19:46

1 ответ

Лучший ответ

Чтобы получить данные, отправленные формой (в вашем случае сам файл), вы должны использовать $this->request->data вместо $this->data.

Надеюсь, это поможет.

2
Cris Sawfish 3 Фев 2013 в 19:54