CakePHP 2.0 загрузка файла не работает - PullRequest
0 голосов
/ 06 марта 2012

Привет, я пытаюсь создать систему загрузки файлов, где я могу загрузить файл, и он изменит имя файла на MYSQL ID, который был загружен в таблицу.Это мой код ...

function add() {
    if (!empty($this->data)) {
        $this->Upload->create();
        if ($this->uploadFile() && $this->Upload->save($this->data)) {
            $this->Session->setFlash(__('<p class="uploadflash">The upload has been saved</p>', true));
            $this->redirect(array('action' => 'add'));
        } else {
            $this->Session->setFlash(__('<p class="uploadflash">The upload could not be saved. Please, try again.</p>', true));
        }
    }
        }

function uploadFile() {
    $file = $this->request->data['Upload']['file'];
    if ($file['error'] === UPLOAD_ERR_OK) {
        if (move_uploaded_file($file['tmp_name'], APP.'webroot/files/uploads'.DS.$this->Upload->id.'.mp4')) {
            $this->Upload->save($this->data);
            return true;
        }
    }
    return false;
}

Однако файл не загружается в каталог, а информация загружается на вкладку SQL.

Я не понимаю, почему этофункция $ this-> Upload-> id не работает для переименования файла?Если я поставлю его в речевых метках, он переименует файл в «$ this-> Upload-> id.mp4», но я хочу, чтобы он был больше похож на 114.mp4, если это поле, в котором сохраняется информация.У кого-нибудь есть идеи?

Заранее спасибо

1 Ответ

0 голосов
/ 06 марта 2012

Сначала нужно сохранить. $ this-> Upload-> id пусто в вашем случае.

Для вашего интереса: $ This-> upload-> создать (); очищает $ this-> Upload-> id

Смотри также:

http://api20.cakephp.org/class/model#method-Modelcreate http://api20.cakephp.org/view_source/model#line-1381

...