ubuntu php 上传文件临时目录,PHP $_FILES 上传文件,在Windows下正常,但在Ubuntu下无法上传文件
ubuntu下出现这个问题, 原因是文件路径不存在,或者文件夹不存在,或者没有权限。
1、确保目标文件夹已经存在;
2、sudo chmod 777 ××× :开启访问权限。
// 完整代码如下:
// html5-http-上传文件.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用FormData对象向服务器端上传文件</title>
<script>
function uploadFile() {
var formData = new FormData();
var files = document.getElementById("file1").files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
// myfile[] 中的index可以省略
formData.append(`myfile[]`, file);
}
var xhr = new XMLHttpRequest();
xhr.open('POST', 'test-上传文件.php', true);
xhr.onload = function (e) {
if (this.status == 200) {
document.getElementById("result").innerHTML = this.response;
}
};
xhr.send(formData);
}
</script>
</head>
<body>
<h1>使用FormData对象向服务器端上传文件</h1>
<form id="form1" enctype="multipart/form-data">
请选择文件<input type="file" id="file1" name="file" multiple><br />
<input type="button" value="上传文件" onclick="uploadFile();">
</form>
<output id="result"></output>
</body>
</html>
// test-上传文件.php
<?php
for ($i=0;$i<count($_FILES['myfile']['name']);$i++)
{
move_uploaded_file($_FILES['myfile']['tmp_name'][$i],dirname(__FILE__).'/uploads/'.
$_FILES['myfile']['name'][$i]);
echo '已上传文件:'.$_FILES['myfile']['name'][$i].'<br/>';
echo '路径是'.$_FILES['myfile']['tmp_name'][$i].'<br/>';
echo dirname(__FILE__).'/uploads/'.
iconv("utf-8","gbk",$_FILES['myfile']['name'][$i]);
}
flush();
?>