DWZ使用xhEditor作为编辑器。
一、HTML页Form无需添加 enctype="multipart/form-data" 也无需添加别的脚本
<form method="post" action="/admin/article/write_post" class="pageForm required-validate" οnsubmit="return validateCallback(this, navTabAjaxDone);">
<textarea class="editor" style="width: 800px;" name="article_content" rows="23" cols="100" upImgUrl="/admin/article/upload" upImgExt="jpg,jpeg,gif,png"></textarea>
</form>
二、PHP页
//上传
public function upload()
{
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Uploads/'; // 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
// 上传文件
$info = $upload->upload();
if(!$info) {// 上传错误提示错误信息
$this->error($upload->getError());
}else{// 上传成功 获取上传文件信息
foreach($info as $file){
echo "{\"err\":\"\",\"msg\":\"/Uploads/".$file['savepath'].$file['savename']."\"}";
}
}
}
三、需要注意的地方
1.编辑器内容不要做htmlspecialchars或者addcslashes等过滤,不然图片在页面中会显示错误
I('post.article_content','','');
2.取出来内容如果做截取,因涉及图片,所以要在HTML中做去HTML标签处理(用Smarty的情况)
{$i.article_content|htmlspecialchars|truncate:20:"...":true}
这样就实现了ThinkPHP+DWZ(xhEditor)上传图片,不知道对大家有没有帮助