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();
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章