こんにちは、ファイルをアップロードできるファイル アップロード システムを作成しようとしています。ファイル名が、テーブルにアップロードされた 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 のようにしたいと思います。誰にもアイデアはありますか?
前もって感謝します