Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用php和ajax在与表单相同的页面上载文件不起作用_Javascript_Php_Jquery_Ajax_Forms - Fatal编程技术网

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

Javascript 使用php和ajax在与表单相同的页面上载文件不起作用,javascript,php,jquery,ajax,forms,Javascript,Php,Jquery,Ajax,Forms,尝试使用php/ajax上载文件,但似乎不起作用,可能是因为无法在页面中显示upload\u file.php中的$\u文件[“file\u name”][“tmp\u name”]变量,所以无法识别该文件 你能帮忙吗 index.html <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="upload_file.js">

尝试使用
php/ajax
上载文件,但似乎不起作用,可能是因为无法在页面中显示
upload\u file.php中的
$\u文件[“file\u name”][“tmp\u name”]
变量,所以无法识别该文件

你能帮忙吗

index.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>
上传_file.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 />";}
?>

我想你也会遇到同样的问题。 也许这对你有帮助。

我以前发现过这个,测试过没问题。使用
FormData
可以满足您的需求。

但请考虑浏览器兼容性。有关更多信息,请参考。

您将文件发送到哪里?我看到一个
.load
调用,但这不是一个post请求,更不用说
多类型/表单数据了
您正在使用的
['file\u name']
[“file”]
,输入带有
name=“file\u name”id=“file\u name”
-请查阅手册并检查错误@Halcyon,感谢您的反馈!你对
多类型/表单数据
的意思是什么?@Fred ii-对不起,这只是我的打字错误。我在所有文件中使用
文件名
。更正!不客气。很难说。正如我前面所说的,我对JS的了解还不够,无法进一步提供帮助,我大部分时间都在服务器端工作。TBH,当有人要求我安装类似的东西时,我只是在那里找到了一个可以从demos lol中运行的脚本,然后我只是根据自己的喜好修改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 />";}
?>