我是cakephp的新手,我找到了milesjohnson's upload plugin, 我有点喜欢它,主要是因为它让我有机会在上传后重命名文件。遗憾的是,我无法上传任何zip / rar文件。
这是我上传文件的操作:
function add() {
if (!empty($this->data)) {
if ($data = $this->Uploader->upload('link_referencia', array('name' => date("dmYhis")))) {
debug($data);
$this->data['Publicacione']['link_referencia']=$data['name'];
}
$this->Publicacione->create();
if ($this->Publicacione->save($this->data)) {
$this->Session->setFlash(__('The publicacione has been saved', true));
//$this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The publicacione could not be saved. Please, try again.', true));
}
}
$users = $this->Publicacione->User->find('list');
$this->set(compact('users'));
}
这是我每次尝试上传任何zip / rar文件时出现的错误:
修改
完整插入查询:
INSERT INTO `publicaciones` (`vigencia`, `tipo`, `titulo`, `descripcion`, `fecha_publicacion`, `fecha_caducidad`, `link_referencia`, `modified`, `created`) VALUES (1, 'c', 'there\'s nothing you can\'t do', '
fsdfsdfsdf
', '2011-06-07', '2011-06-30', Array, '2011-06-07 16:47:23', '2011-06-07 16:47:23')
有没有人对问题可能有什么想法?
提前致谢。
答案 0 :(得分:0)
我认为你所编写的代码没有任何内容,但你应该查看插件,看看它是否允许你上传zip。
你的插件中有条件你只能上传某些文件,比如jpg,png,txt等。
我希望能帮助你。
此致 Archit
答案 1 :(得分:0)
您是否完全确定表单上的文件输入是否已指定type =>文件,并且您的表单是否相同?
另外我会看看其他上传者 - MeioUpload可以允许重命名等等,并且有点更新。您还可以在github上找到Cuploadify插件(uploadify for cake)。
答案 2 :(得分:0)
确保您的表单设置为
multipart/form-data,如下所示:
<?php echo $this->Form->create('File', array('enctype' => 'multipart/form-data')); ?>
以下代码将上传文件:
if ($this->request->is('post')) {
if ( $this->data['File']['file']['error'] <= 0 && $this->data['File']['file']['size'] <= 8388608 ) { // Check for no errors and that File size is around 8mb.
$folder = new Folder (ROOT . DS . 'app' . DS . 'filestorage' . DS, true); // create folder in /app/filestorage/
$path = $folder->path . $this->data['File']['file']['name']; // Set path to newly created folder + uploaded file name.
$tmpUrl = new File ( $this->data['File']['file']['tmp_name'] ); // Create temporary file object
if ($tmpUrl->copy($path , true) ) { // If copying file to path is successful,
$this->Session->setFlash(__('File uploaded succesfully!'));
}
}