UEditor 富文本视频上传
写在前面
我在做 WEB 后台时,富文本组件主要是用百度的 UEditor,本次记录视频上传是各种错误时的 DEBUG 过程。
主要过程
主要错误:找不到上传文件
Ueditor 上传视频的流程
- 入口函数是: ueditor/php/controller.php?action=uploadvideo 会引入
- 在 controller.php 中 action=uploadvideo 会引入 include("action_upload.php");
- 在 action_upload.php 中 action=uploadvideo 在读取了 config.json 中的配置信息后,会调用 Uploader.class.php
- 在 Uploader.class.php 根据 uploadvideo 中的配置信息,知道最终调用 upFile() 方法。
上面就是确定文件上传思路,我遇到的问题是 找不到上传文件,我用的 Nginx 服务器之前已经遇到过文件大小限制,修改了 nginx 的配置信息,所以这次发现上传文件是 $_FILE 为空,后来发现是 php.ini 中有限制上传文件大小的限制导致了 $_FILE 置空。
修改 php.ini
- 通过 phpinfo(); 查看 file_uploads 是否开启,如果没有开启打开
- 查看 upload_max_filesize 到底是多少,我的设置为 32M 于是我统一修改为 100M
- 查看 post_max_size 是多少,我的设置为 32M 于是我统一修改为 100M
建议
Ueditor 上传文件视频大小限时最好统一,即 Ueditor 的 config.json 中的限制、php.ini 限制 以及 nginx 限制都统一,这样才不会出现类似上传文件大小导致的文件上传问题。
主要上传的错误信息如下:
主要的错误信息记录在 Ueditor/php/Uploader.class.php 中,主要包括
private $stateMap = array( //上传状态映射表,国际化用户需考虑此处数据的国际化
"SUCCESS", //上传成功标记,在UEditor中内不可改变,否则flash判断会出错
"文件大小超出 upload_max_filesize 限制",
"文件大小超出 MAX_FILE_SIZE 限制",
"文件未被完整上传",
"没有文件被上传",
"上传文件为空",
"ERROR_TMP_FILE" => "临时文件错误",
"ERROR_TMP_FILE_NOT_FOUND" => "找不到临时文件",
"ERROR_SIZE_EXCEED" => "文件大小超出网站限制",
"ERROR_TYPE_NOT_ALLOWED" => "文件类型不允许",
"ERROR_CREATE_DIR" => "目录创建失败",
"ERROR_DIR_NOT_WRITEABLE" => "目录没有写权限",
"ERROR_FILE_MOVE" => "文件保存时出错",
"ERROR_FILE_NOT_FOUND" => "找不到上传文件",
"ERROR_WRITE_CONTENT" => "写入文件内容错误",
"ERROR_UNKNOWN" => "未知错误",
"ERROR_DEAD_LINK" => "链接不可用",
"ERROR_HTTP_LINK" => "链接不是http链接",
"ERROR_HTTP_CONTENTTYPE" => "链接contentType不正确",
"INVALID_URL" => "非法 URL",
"INVALID_IP" => "非法 IP"
);
← 关于微信支付 PHP 服务器搭建全攻略 →