繁体   English   中英

使用php和ajax在与表单相同的页面中上传文件不起作用

[英]upload a file in the same page as the form using php and ajax not working

尝试使用php/ajax上传文件,但似乎无法正常工作,也许它无法识别upload_file.php$_FILES["file_name"]["tmp_name"]变量,因为我无法在页面中显示它。

你能帮忙吗!

索引.html

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="upload_file.js"></script>

<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file_name" id="file_name" />
<input type="submit" name="submit" value="RUN" id ="btnSubmit"> 
</form>

<div id='upload_here_div'></div>

上传文件.js

$(document).ready(function(){

    console.log(file_name +'uplooad');

    $('#btnSubmit').click(function(e) {

        console.log('click trigger');
        var file_name           = $("#file_name").val();


        $("#upload_here_div").load("upload_file.php?file_name=" + client_info )
        console.log('value for file_name=' + file_name ); //
      });

});

上传文件.php

<?php
$file_name  = $_REQUEST['file_name'];

if ( isset($_FILES["file_name"])) {

    //if there was an error uploading the file
    if ($_FILES["file_name"]["error"] > 0) {
        echo "Return Code: " . $_FILES["file_name"]["error"] . "<br />";
    }
    else {

          $file_locatioon = "upload/".$file_name ;
          echo 'file_locatioon = '.$file_locatioon."<br>";
          move_uploaded_file($_FILES["file_name"]["tmp_name"], $file_locatioon);
          echo "ploaded!!<br>";
    }

 } else {echo "No file selected <br />";}
?>

我认为您在使用jQuery Ajax File Upload 时遇到了同样的问题。 也许它对你有帮助。

我之前找到了这个教程,测试OK。 通过使用FormData可能会得到你想要的。
但请考虑浏览器兼容性。 有关更多信息,请参考此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM