Heim > Artikel > Backend-Entwicklung > PHP kann keine Datei hochladen (777+Gruppe:Apache+Selinux deaktiviert)
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>
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.
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>
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.