uedit修改文件上传路劲,支持api文件接口
Posted Z.X
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uedit修改文件上传路劲,支持api文件接口相关的知识,希望对你有一定的参考价值。
首先修改一个东西ueditor/ueditor.config.js
serverUrl: URL + "php/controller.php" 原来 serverUrl: "http://www.zx.com/app.php?m=index&a=rich_editor_upload_one_pic" 最好使用绝对路径,因为多图上传的时候也调用的是这个
控制器文件index.php 的rich_editor_upload_one_pic 方法
rich_editor_upload_one_pic 在mvc里面最好不要有权限控制,不然会有意向不到的意外
public function rich_editor_upload_one_pic() { date_default_timezone_set("Asia/chongqing"); error_reporting(E_ERROR); header("Content-Type: text/html; charset=utf-8"); $url = SYSTEM_ROOT . ‘/Public/hplus/plugins/ueditor/php/config.json‘; //必须读取,不然报错 $CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents($url)), true); $action = $_GET[‘action‘]; switch ($action) { case ‘config‘: $result = json_encode($CONFIG); break; /* 上传图片 */ case ‘uploadimage‘: $this->do_pic(); break; /* 上传涂鸦 */ case ‘uploadscrawl‘: /* 上传视频 */ case ‘uploadvideo‘: /* 上传文件 */ case ‘uploadfile‘: // $result = include("action_upload.php"); $this->do_pic(); break; /* 列出图片 */ case ‘listimage‘: $result = include("action_list.php"); break; /* 列出文件 */ case ‘listfile‘: $result = include("action_list.php"); break; /* 抓取远程文件 */ case ‘catchimage‘: $result = include("action_crawler.php"); break; default: $result = json_encode(array( ‘state‘ => ‘请求地址出错‘ )); break; } /* 输出结果 */ if (isset($_GET["callback"])) { if (preg_match("/^[\w_]+$/", $_GET["callback"])) { echo htmlspecialchars($_GET["callback"]) . ‘(‘ . $result . ‘)‘; } else { echo json_encode(array( ‘state‘ => ‘callback参数不合法‘ )); } } else { echo $result; } }
public function do_pic() { $exts = M("Config")->where("name=‘file_exts‘")->getField("value"); $info = uploadFile(‘Contract‘, $exts, $err); if (!$info) { $return = array( "state" => "FAIL", //上传状态,上传成功时必须返回"SUCCESS" "url" => ‘‘, //返回的地址 "title" => "", //新文件名 "original" => "", //原始文件名 "type" => "", //文件类型 "size" => "" //文件大小 ); exit(json_encode($return)); } if (C("SERVERFILE_STATUS") == 0) { $data[‘url‘] = $info[‘0‘][‘file‘]; } else {//启用文件服务器 $data[‘url‘] = C("SERVERFILE_URL") . $info[‘savepath‘] . $info[‘savename‘]; }
//必要的返回格式 $return = array( "state" => "SUCCESS", //上传状态,上传成功时必须返回"SUCCESS" "url" => $data[‘url‘], //返回的地址 "title" => "", //新文件名 "original" => "", //原始文件名 "type" => "", //文件类型 "size" => "" //文件大小 ); exit(json_encode($return)); }
如果只是没有使用接口文件服务器,或者外网文件服务器,建议使用nfs挂载虚拟目录,这样既不用担心权限问题,也不担心性能问题,当然比如我现在这种蛋疼的情况,比较特殊
如果是本地或者nfs,需要修改上传路径,请修改php文件夹下面的config.json文件,注释很清楚
以上是关于uedit修改文件上传路劲,支持api文件接口的主要内容,如果未能解决你的问题,请参考以下文章
input type="file"文件上传时得到文件的本地路劲