ThinkPHP上传根目录不存在!请尝试手动创建:./Uploads/

今天在用ThinkPHP做图片上传的时候碰到”上传根目录不存在!请尝试手动创建:./Uploads/”的错误提示,原因是TP的Upload类默认上传配置里rootPath的默认值是’./Uploads/’,而官方文档上的例子里并没有说明这一点,导致很多人仿照官方例子,只配置了savePath而没有初始化rootPath。

Upload类默认上传配置如图:

《ThinkPHP上传根目录不存在!请尝试手动创建:./Uploads/》

解决方法:
实例化Upload上传类时同时初始化rootPath和设置savePath的路径,如:

$config = array(
    'maxSize'    =>  3145728,                             // 设置附件上传大小,默认3M
    'exts'       =>  array('jpg', 'gif', 'png', 'jpeg'),  // 设置附件上传类型
    'rootPath'   =>  './',                                // 设置根路径
    'savePath'   =>  'Upload/image/'                      // 设置附件上传目录
    );
// 实例化上传类
$upload = new ThinkUpload($config);
// 上传文件 
$info = $upload->upload();
if(!$info) {
    // 上传错误提示错误信息
    $this->error('上传图片出错');
}else{
    // 上传成功提示成功信息
    $this->success('上传图片成功');
}

图片地址为:

$picture_url = 
$config['rootPath'] . $info['picture']['savepath'] . $info['picture']['savename'];
// ./Upload/image/2014-11-25/54736004a045f.png
    原文作者:Mario Cisco
    原文地址: https://blog.csdn.net/lshake/article/details/52554970
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞