gpt4 book ai didi

javascript - 如何使用 jQuery 读取 $_FILES ['name' ] ['tmp_name' ]

转载 作者:行者123 更新时间:2023-12-03 11:17:22 27 4
gpt4 key购买 nike

我正在制作一个应用程序,使用 excel_reader2.php 将 Excel 导入数据库。我创建了一个用于上传 Excel 文件的表单,当选择要上传的文件时,我想读取 Excel 文件的数据绑定(bind)表。当我使用js时,这成为问题,我无法解析php代码中的$_FILES。

<script type="text/javascript">
function sheetChange()
{
var html;
$("#sheetName td").remove();
var fileInputContent = $('#form').serializeArray();
$.post(basedomain+"mycontroller/readSheet",fileInputContent,function(result)
{
if(result)
{
$("#sheetName").show();
var data = JSON.parse(result);
html += '<td>Sheet Name</td><td colspan=\'3\'><select name=\'SHEET\' required>';
for(var i in data)
{
html += '<option value=\''+data[i]+'\'>'+data[i]+'</option>';
}
html +='</select></td>';
$("#sheetName").append(html);
}
});
}
</script>
<form id = 'form' method="post" action="upload.php" enctype="multipart/form-data">
<table cellspacing="0" cellpadding="0">
<tr>
<td>Input Xls File</td>
<td colspan="3"><input type="file" name="file" id="file" onchange="sheetChange()"/></td>
</tr>
<tr id="sheetName"></tr>
</table>
</form>

PHP 代码:

public function readSheet()
{
error_reporting(E_ALL ^ E_NOTICE);
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader($_FILES['file']['tmp_name']); //$_FILES is null

foreach ($data->boundsheets as $k=>$sheet)
{
$row[] = $sheet['name'];
}
echo json_encode($row);
exit;
}

有人可以帮助我吗?提前致谢。

最佳答案

原因是使用 HTML 上传文件并不像您想象的那么简单。以下是两个很好的示例,分别展示了普通 POST(在 HTTP 协议(protocol)中)与多部分/表单数据请求的外观:

http://www.htmlcodetutorial.com/forms/form_enctype.html

这里要指出的是,表单提交和表单提交与文件上传在技术上是两个截然不同的事情。

$.post只能为你做普通表单的提交,jQuery不支持文件上传。

有两种方法可以解决这个问题:

干杯,马蒂亚斯

关于javascript - 如何使用 jQuery 读取 $_FILES ['name' ] ['tmp_name' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27285711/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com