• 技术文章 >后端开发 >php教程

    javascript - php无法上传文件(777+group:apache+ selinux disabled)

    2016-12-01 00:56:29原创425
    如题,centos7
    upload_temp_dir=/tmp(777)
    $_SERVER['DOCUMENT_ROOT']. '/adpic'(777)

     0)
        exit('错误,文件错误');
    
    if ($_FILES['file']['size'] < 0)
        exit('错误,文件大小不明');
    
    //switch (getimagesize($_FILES['file']['tmp_name'])[2]) {
    //    case 1:
    //        $ext = 'gif';
    //        break;
    //    case 2:
    //        $ext = 'jpg';
    //        break;
    //    case 4:
    //        $ext = 'jpeg';
    //        break;
    //    case 3:
    //        $ext = 'png';
    //        break;
    //    default:
    //        die('仅允许上传 png gif jpg 格式的图片' . var_dump($_FILES));
    //        break;
    //}
    
    // 文件路径 文件名
    
    $time = time();
    $imgName = $time . mt_rand(10000, 99999);
    $savePath =$_SERVER['DOCUMENT_ROOT']. '/adpic';
    // 创建文件夹
    // 移动文件
    if (!move_uploaded_file($_FILES['file']['tmp_name'], $savePath . '//m.sbmmt.com/m/' . $imgName . '.' . $ext))
        exit('错误,文件移动失败'.error_reporting(E_ALL));
    
    // 返回文件地址
    exit("/adpic/" . $imgName . '.' . $ext);

    首先的问题是,getimagesize($_FILES'file')为false,这是什么情况呢?
    正常的不应该是可以获取到的吗?
    然后错误提示是22527.
    问题描述大概就是这样,如果还需要更多信息我会马上更新,感谢回答。

    回复内容:

    如题,centos7
    upload_temp_dir=/tmp(777)
    $_SERVER['DOCUMENT_ROOT']. '/adpic'(777)

     0)
        exit('错误,文件错误');
    
    if ($_FILES['file']['size'] < 0)
        exit('错误,文件大小不明');
    
    //switch (getimagesize($_FILES['file']['tmp_name'])[2]) {
    //    case 1:
    //        $ext = 'gif';
    //        break;
    //    case 2:
    //        $ext = 'jpg';
    //        break;
    //    case 4:
    //        $ext = 'jpeg';
    //        break;
    //    case 3:
    //        $ext = 'png';
    //        break;
    //    default:
    //        die('仅允许上传 png gif jpg 格式的图片' . var_dump($_FILES));
    //        break;
    //}
    
    // 文件路径 文件名
    
    $time = time();
    $imgName = $time . mt_rand(10000, 99999);
    $savePath =$_SERVER['DOCUMENT_ROOT']. '/adpic';
    // 创建文件夹
    // 移动文件
    if (!move_uploaded_file($_FILES['file']['tmp_name'], $savePath . '//m.sbmmt.com/m/' . $imgName . '.' . $ext))
        exit('错误,文件移动失败'.error_reporting(E_ALL));
    
    // 返回文件地址
    exit("/adpic/" . $imgName . '.' . $ext);

    首先的问题是,getimagesize($_FILES'file')为false,这是什么情况呢?
    正常的不应该是可以获取到的吗?
    然后错误提示是22527.
    问题描述大概就是这样,如果还需要更多信息我会马上更新,感谢回答。

    已解决,对比了php.ini,发现是open_basedir的值的缘故,置空后恢复正常。

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:javascript php
    上一篇:PHP生成UUID的正确姿势是? 下一篇:使用谷歌浏览器访问,一直在请求可用的套接字?
    大前端线上培训班

    相关文章推荐

    • PHP中的命名空间定义与使用(实例详解)• PHP中clone关键字和__clone()方法的使用(实例详解)• 带你分清类中的构造函数与析构函数• 五分钟带你了解PHP中的魔术方法(实例详解)• 怎样去搞定PHP类的继承?(总结分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网