cakephp上传组件教程

Posted 帽子戏法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cakephp上传组件教程相关的知识,希望对你有一定的参考价值。

1.复制插件到相应目录

Plugin和Vendor

2.添加加载文件至core.php

require_once dirname(__DIR__) . ‘/Vendor/autoload.php‘;

3.model添加以下两部分

//上传组件
App::uses(‘AttachmentBehavior‘, ‘Uploader.Model/Behavior‘);
CakePlugin::load(‘Uploader‘);
App::uses(‘Vendor‘, ‘Uploader.Uploader‘);

 

public $actsAs = array (

‘Uploader.Attachment‘ => array (
// Do not copy all these settings, it‘s merely an example
‘image‘ => array (
// 在视图文件中用来接受上传文件的变量
‘finalPath‘ => ‘/files/upload/‘, // 这个为相对路径
//‘finalPath‘ => ‘/img/uploads/‘,
‘prepend‘ => ‘upload-‘,
‘nameCallback‘ => ‘formatName‘,
//‘nameCallback‘ => ‘formatName‘,
‘extension‘ => array(‘gif‘, ‘jpg‘, ‘png‘, ‘jpeg‘), //可接受的文件格式,用户可自定义
‘filesize‘ => 5242880, // 文件大小不超过5M
‘dbColumn‘ => ‘image‘, // model对应数据库的字段
‘maxNameLength‘ => 50, // 默认是30
‘overwrite‘ => true, // 相同文件名时会覆盖
‘stopSave‘ => true, // 如果上传不成功,自动停止保存整个表单
‘allowEmpty‘ => true,
‘transforms‘ => array(
‘imageMedium‘ => array(
‘dbColumn‘ => ‘image‘,
‘class‘ => ‘resize‘,
//‘append‘ => ‘-medium‘,
//‘overwrite‘ => true,
‘width‘ => 390,
‘height‘ => 300,
‘aspect‘ => false,
‘self‘ => true
)
)
)
)
);
public function formatName($name, $file) {
return sprintf(‘%s‘, date("Y/m/d/G/i/s"));
}

4.view添加

echo $this->Form->create(‘Yaop‘, array(‘type‘ => ‘file‘,
‘inputDefaults‘ => array(
‘div‘ => false,
‘error‘ => array(‘attributes‘ => array(‘wrap‘ => ‘div‘, ‘class‘ => ‘validate_error‘))
)
));

 

echo $this->Form->input(‘image‘, array(‘type‘=>‘file‘, ‘div‘ => false, ‘label‘=>false));

 

 

作者地址:  

http://milesj.me/code/cakephp/uploader

以上是关于cakephp上传组件教程的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 3 编辑上传

Cakephp 2+ 上传图片时调整图片大小和裁剪

CakePHP 上传文件的最佳实践

使用 CakePHP 'Acl' 组件

CakePHP 3.7 - 测试用例文件上传

列出 CakePHP 文件上传错误代码