如何做基于表单的文件上传CakePHP中?(How to do form-based file up

2019-08-01 11:54发布

我一直在寻找到这一段时间,不能弄明白。 基本上,我有我的模型中添加页面,你可以从网址或文件上传添加地图。 我已经验证了在所有的领域,但如何和我在哪里管理上传的文件? 必须有一些简单的方法来做到这一点。 谢谢!

Answer 1:

首先你的形式需要被设置为允许文件上传。

<?php echo $form->create(Model, array('type' => 'file')); ?>

这将允许任何文件输入到实际文件上传到服务器以$form->file(field)$form->input(field, array('type' => 'file'))

一旦该文件已被上传你应该处理一切从型号中:

function beforeSave($created) {
    extract($this->data[Model][field]);
    if ($size && !$error) {
        move_uploaded_file($tmp_name, destination);
        $this->data[Model][field] = destination;
    }
    return true;
}

这些只是基础,所以一定有一个发挥作用的,找到最适合您需求的解决方案。



Answer 2:

您可以使用Zend的组件来处理文件上传。 有一个很好的例子在我的网站: 使用Zend组件CakePHP的文件上传



Answer 3:

注:MeioUploadBehavior已被弃用。 相反jrbasso暗示Upload Plugin

除了已经给予我想提示关于罚款的答案MeioUploadBehavior ,目前维护jrbasso在github上 ,这一直是我自己的CakePHP项目对我来说是很大的帮助。

您只需添加行为使用模型$actsAs场,并在同一时间指定任何自定义的喜好。 然后创建必要的字段(通过提供文档中详细描述)在你的数据库,或者配置模式不使用任何数据库表。 最后安装在您的添加页面的形式,还提供的文档中描述。 随后的行为负责其余的为您服务。



文章来源: How to do form-based file uploads in CakePHP?