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