使用php和javascript通过ajax上传文件

时间:2017-07-05 09:03:12

标签: javascript php ajax linux django

我想通过PHP和javascript在网页上制作文件上传器。 但是,我无法运行PHP并在服务器上保存文件。所以我希望你能帮助我。

如何在Linux系统上保存上传的文件?

我的系统是Linux(Ubuntu MATE) - Apache - Django。 代码如下。

file_upload.html

<body>
    <center>
        <h3>File Upload</h3>
        <form id="my_form">
            {% csrf_token %}
            <input type="file" name="file_1">
            <button type="button" onclick="file_upload()">upload</button>
        </form>
    </center>

<script type="text/javascript" src={% static "js/file_upload.js" %}></script>
</body>

file_upload.js

function file_upload()
{
    var formdata = new FormData($('#my_form').get(0));
    $.ajax({
        url  : "/upload.php",
        type : "POST",
        data : formdata,
        cache       : false,
        contentType : false,
        processData : false,
        dataType    : "html"
    })
    .done(function(data, textStatus, jqXHR){
        alert(data);
    })
    .fail(function(jqXHR, textStatus, errorThrown){
        alert("fail");
    });
}

upload.php的

<?php
$file_tmp  = $_FILES["file_1"]["tmp_name"];
console.log($file_tmp)

$file_save = "./" . $_FILES["file_1"]["name"];

$result = @move_uploaded_file($file_tmp, $file_save);
if ( $result === true ) {
    echo "UPLOAD OK";
} else {
    echo "UPLOAD NG";
}

当我运行这些代码时,响应只显示表单数据(PHP的内容),并且不运行PHP。我想我可以在Linux上的$ file_save中保存一个文件,但我不能这样做。

请告诉我如何制作它。

提前谢谢你。 我期待着你的回复!

0 个答案:

没有答案