一、Id 隐藏
<p>
<input class="text-input small-input" type="hidden" id="id" name="id" value="{$result.id}"/>
</p>
二、重写父类方法
public $model = null;
// (重写)框架的构造方法,运行工程时框架内部会执行,作用是初始化常用属性, 方法等初始化工作
public function __construct()
{
// 调用父类方法
parent::__construct();
$this->model = M(‘Product‘);
}
完善后
PublicAction
继承父类
构造函数
class PublicAction extends Action {
public $model = null;
//框架的构造方法,运行工程师框架内部会执行,作用是初始化常用的属性,方法等初始化工作
public function __construct()
{
//调用父类方法
parent::__construct();
//获取当前子类的名;
$class_name = get_class($this);
$name = substr($class_name,0,-6);
// dump($name);exit();
$this->model = M($name);
}
}
三、上传文件
文件上传两大核心:
<form action="__APP__/product/update" method="post" enctype="multipart/form-data”> 支持文件上传
<input class="text-input medium-input" type="file" id="" name="img" /> 文件类型
查手册—》文件上传
// 文件上传
import(‘ORG.Net.UploadFile‘);
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->allowExts = array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘);// 设置附件上传类型
$upload->savePath = ‘./Public/Uploads/‘;// 设置附件上传目录
if(!$upload->upload()) {// 上传错误提示错误信息 CMD进入upload()方法
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
}
// 保存表单数据 包括附件数据
$User = M("User"); // 实例化User对象
$User->create(); // 创建数据对象
$User->photo = $info[0][‘savename‘]; // 保存上传的照片根据需要自行组装
$User->add(); // 写入用户数据到数据库
$this->success(‘数据保存成功!‘);
Mac 系统下修改文件权限,可以自动创建文件
// 尝试创建目录 权限
if(!mkdir($savePath,777,true)){
文件修改权限用Linux修改
sudo chmod -R 777 /Applications/XAMPP/xamppfiles/htdocs/phprise/Public
// 对上传文件按日期建文件夹分类
$year = date(‘Y‘);
$month = date(‘M‘);
$day = date(‘d‘);
$upload->savePath = ‘./Public/Uploads/‘.$year.‘/‘.$month.‘/‘.$day.‘/‘;// 设置附件上传目录
// 生成缩略图
$upload->thumb = true;
$upload->thumbMaxWidth = ‘50,200‘;
$upload->thumbMaxHeight = ‘50,200‘;
整体:
if (!empty($_FILES[‘img‘][‘name‘])){
// 文件上传
import(‘ORG.Net.UploadFile‘);
$upload = new UploadFile();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->allowExts = array(‘jpg‘, ‘gif‘, ‘png‘, ‘jpeg‘);// 设置附件上传类型
$year = date(‘Y‘);
$month = date(‘M‘);
$day = date(‘d‘);
$upload->savePath = ‘./Public/Uploads/‘.$year.‘/‘.$month.‘/‘.$day.‘/‘;// 设置附件上传目录
// 生成缩略图
$upload->thumb = true;
$upload->thumbMaxWidth = ‘50,200‘;
$upload->thumbMaxHeight = ‘50,200‘;
if(!$upload->upload()) {// 上传错误提示错误信息
$this->error($upload->getErrorMsg());
}else{// 上传成功 获取上传文件信息
$info = $upload->getUploadFileInfo();
// dump($info);exit();
// 保存到数据库中
// 拼接图片路径
$img_path = $info[0][‘savepath‘].$info[0][‘savename‘];
// dump($img_path);exit();
$_POST[‘img_path‘] = $img_path;
}
}
四、<!--指定当前的默认路径—> 在<head></head>标签内些
<base href="__ROOT__/"/>
五、模板整体拼接新方法 代替
public function index(){
// $this->view();
// 获取当前方法的Tpl文件内的模板
$result = $this->fetch();
$this->assign(‘result‘, $result);
// dump($result);exit();
$this->display(‘Public:layout‘);
}
代替 view()
public function view(){
$this->display(‘Public:header‘);
$this->display();
$this->display(‘Public:right‘);
$this->display(‘Public:footer‘);
}
六、 正则表达式
// var reg1 = /^[a-zA-Z\d]{1}\[email protected]\w+(.(com|net))?.(cn|com)$/; // 实体