ueditor上传图片时目录创建失败的问题解决方法
ueditor的真实上传路径提示出来,我进行了如下步骤:
找到了编辑器的上传处理类 Uploader.class.php,大约110行的位置找到了上传失败的提示位置,
将
$this->stateInfo = $this->getStateInfo("ERROR_CREATE_DIR");
注释掉,
然后加了一句
$this->stateInfo = $dirname;
保存。
然后使用ueditor上传,错误提示的上传路径是:
/usr/local/nginx/html/ueditor/php/upload/image/20150526/
果然不是我现在要上传的目录,/usr/local/nginx/html/根本就是以nginx默认目录,明明我自己配置的有虚拟主机,为什么上传的时候会以默认目录为准呢,百撕不得骑姐,接下来就是一路追踪这个路径什么时候变成了相对/usr/local/nginx/html/了,一路追踪到:
private function getFilePath()
{
$fullname = $this->fullName;
$rootPath = $_SERVER[‘DOCUMENT_ROOT‘];
if (substr($fullname, 0, 1) != ‘/‘) {
$fullname = ‘/‘ . $fullname;
}
return $rootPath . $fullname;
}
就在这把相对路径转换成的绝对路径,$_SERVER[‘DOCUMENT_ROOT‘]是个关键,我打印一下$_SERVER[‘DOCUMENT_ROOT‘],
果然显示的结果是/usr/local/nginx/html/,好蛋疼的说,我明明在nginx虚拟机配置的时候配置了root目录了的啊,于是打开nginx的配置有开了一遍,果然发现了问题:
location ~ \.php$ {
root html;
#我的其他配置代码
}
这里的root目录项没改,nginx配置中的server {}体内有多个root要配置,这个成了漏网之鱼。
把配置修改后,nginx平滑加载一下配置后,果然上传问题解决!啥也不怨,就怨自己配置的时候太粗心了,记录一下,引以为戒!
文章来自:http://www.cnblogs.com/caicaizi/p/6604606.html