2013-02-03 32 views
0

我想获得的文件使用CakePHP上传[function.move上传文件],以正确的文件夹我目前使用tutorial,但所遇到的一些错误无法移动tmp文件使用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

检查文件夹的权限.. – Deadlock

+0

已在不正确的目录中的文件夹,但现在接收到不同的错误现在'间接修改重载属性UploadsController :: $ data没有影响' – iwj145

回答

2

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

我希望这会有所帮助。