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();
?>
posted @ 2022-05-15 23:23  是豆腐啊  阅读(148)  评论(0编辑  收藏  举报