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 />";}
?>