首頁  >  文章  >  後端開發  >  javascript - php無法上傳檔案(777+group:apache+ selinux disabled)

javascript - php無法上傳檔案(777+group:apache+ selinux disabled)

WBOY
WBOY原創
2016-12-01 00:56:291361瀏覽

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

<code><?php

// 检测文件
if (!isset($_FILES['file']) || !is_uploaded_file($_FILES['file']['tmp_name']))
    exit('错误,没有找到文件' . json_encode(var_dump($_FILES)));

if ($_FILES['file']['error'] > 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 . '/' . $imgName . '.' . $ext))
    exit('错误,文件移动失败'.error_reporting(E_ALL));

// 返回文件地址
exit("/adpic/" . $imgName . '.' . $ext);</code>

首先的問題是,getimagesize($_FILES'file')為false,這是什麼情況呢?
正常的不應該是可以取得的嗎?
然後錯誤提示是22527.
問題描述大概就是這樣,如果還需要更多資訊我會馬上更新,感謝回答。

回覆內容:

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

<code><?php

// 检测文件
if (!isset($_FILES['file']) || !is_uploaded_file($_FILES['file']['tmp_name']))
    exit('错误,没有找到文件' . json_encode(var_dump($_FILES)));

if ($_FILES['file']['error'] > 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 . '/' . $imgName . '.' . $ext))
    exit('错误,文件移动失败'.error_reporting(E_ALL));

// 返回文件地址
exit("/adpic/" . $imgName . '.' . $ext);</code>

首先的問題是,getimagesize($_FILES'file')為false,這是什麼情況呢?
正常的不應該是可以取得的嗎?
然後錯誤提示是22527.
問題描述大概就是這樣,如果還需要更多資訊我會馬上更新,感謝回答。

已解決,對比了php.ini,發現是open_basedir的值的緣故,置空後恢復正常。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn