ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!

ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!

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平滑加载一下配置后,果然上传问题解决!啥也不怨,就怨自己配置的时候太粗心了,记录一下,引以为戒!