PHP kann keine Datei hochladen (777+Gruppe:Apache+Selinux deaktiviert)

WBOY
Freigeben: 2023-03-01 21:38:01
Original
1360 Leute haben es durchsucht

Wie erwähnt, 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>
Nach dem Login kopieren
Nach dem Login kopieren

Die erste Frage ist: getimagesize($_FILES'file') ist falsch. Wie ist die Situation?
Sollte das normale nicht verfügbar sein?
Dann lautet die Fehlermeldung 22527.
Die Problembeschreibung sieht ungefähr so ​​aus. Wenn weitere Informationen benötigt werden, werde ich sie sofort aktualisieren.

Antwortinhalt:

Wie erwähnt, 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>
Nach dem Login kopieren
Nach dem Login kopieren

Die erste Frage ist: getimagesize($_FILES'file') ist falsch. Wie ist die Situation?
Sollte das normale nicht verfügbar sein?
Dann lautet die Fehlermeldung 22527.
Die Problembeschreibung sieht ungefähr so ​​aus. Wenn weitere Informationen benötigt werden, werde ich sie sofort aktualisieren.

Gelöst. Nach dem Vergleich von php.ini stellten wir fest, dass es am Wert von open_basedir lag. Nachdem es leer gelassen wurde, war es wieder normal.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage