您的位置:首页 > 编程语言 > PHP开发

laravel 文章发布功能----ckeditor使用(附带post处理方法)

2016-06-04 16:15 856 查看
    如果要做一个文章发布功能,一个优秀的在线HTML编辑器是必不可少的,目前来说,优秀的在线HTML编辑器有“ckEditor”、“kindEditor”、“xhEditor”,而我选择的是“ckEditor”,这篇文章将会介绍自己laravel项目中如何使用"ckEditor"。

    (一)版本说明

      1、laravel版本是5.2

       2、ckEditor版本是3.6.3、

      (二)视图设置

      1、添加需要用到ckeditor的文本内容(注意,需要使用textarea,并且id为下一步JavaScript代码中替换的id,这里使用的是‘content’):

<div class="form-group">
<label for="content">content</label>
<textarea  id="content" name="content" class="form-control" rows="3"></textarea>
<div class="form-group">


      2、添加JavaScript代码 
<script type="text/javascript">
window.onload = function()
{
CKEDITOR.replace( 'content', {
filebrowserBrowseUrl: '{{url('uploads/images/')}}',
filebrowserUploadUrl: '{{url('admin/article/image')}}?_token={{csrf_token()}}'
});
};
</script>在这段代码当中,‘content’则是上一步添加的itextarea的id,可以自行定义,而filebrowserBrowseUrl变量指的是浏览你服务器图片存放目录,如果不想不需要可以删去这个变量。filebrowserUploadUrl变量是指图片post提交的处理地址,因为laravel默认开启了csrf验证,所以在url地址需要加上“?_token={{csrf
_token()}}”,如果不添加又不更改laravel默认csrf设置,将会提示错误。

       (三)post图片数据处理

          1、laravel路由添加(routes.php):
Route::controller('admin/article','ArticleController');
这是同上一步JavaScript中filebrowserUploadUrl变量相对应,目的使图片post到url有效。
        2、laravel图片post处理(ArticleController.php):

public function postImage(Request $request)
{

if ($request->hasFile('upload')) { //upload为ckeditor默认的file提交ID
$file = $request->file('upload'); //从请求数据内容中取出图片的内容
$allowed_extensions = ["png", "jpg", "gif"]; //允许的图片后缀
if ($file->getClientOriginalExtension() && !in_array($file->getClientOriginalExtension(), $allowed_extensions)) {
return '图片后缀只支持png,jpg,gif,请检查!';
}
$destinationPath = 'uploads/images/'; //图片存放路径
$extension = $file->getClientOriginalExtension(); //获得文件后缀
$fileName = str_random(10) . '.' . $extension; //创建图片名字
$result = $file->move($destinationPath, $fileName); //存储图片到路径
echo url('') . '/' .$result ; //输出图片网站中浏览路径

}
}我选择对图片处理是把图片存放在服务器上,并返回图片浏览的url地址。其实还有一种比较好的做法是把url直接通过JavaScript直接填在图片浏览url栏上。

   (四)成功之后的效果:
  








   
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  laravel PHP 发布 PHP实习