我有一个包含两个文件上传字段的表单。当您使用PHP正常处理通过HTML上传的文件时,您会得到一个$_FILES
数组,其中包含一些包含所有文件信息的$_FILES['name']
,$_FILES['tmp_name']
等条目。
我希望能够通过jQuery获取所有这些信息。如果我上传$('[name="textfile1"]').val()
,只需点击C:/fakepath/test.txt
即可test.txt
。有没有办法获得实际的信息数组?我有一堆文本输入字段以及文件上传字段,我希望能够通过AJAX调用一次传递所有信息。
<form action="" method="post" enctype="multipart/form-data">
<div class="input">
<p>Upload the sitelist (.txt files only):</p>
<input style="margin-top:0;margin-bottom:6px" type="file" name="textfile1" /><br />
</div>
<div class="input">
<p>Upload the dictionary (.txt files only):</p>
<input style="margin-top:0;margin-bottom:6px" type="file" name="textfile2" /><br />
</div>
</form>
答案 0 :(得分:1)
我讨厌你的游行下雨,但这不可能。
PHP处理服务器端的事情。提交表单时生成的信息(如文件大小,文件类型,文件tmp路径等)都是在表单提交时生成的。如果这是可能的,表单验证将更容易,因为它可以在插入文件期间检查。但是,这也会带来安全风险,因为它会公开当前的用户名(通过包含用户名的文件路径)。
你提到你想通过ajax推送它。无法异步发送文件。这可以通过简单地通过ajax提交表单来完成。但是,如果没有首先通过PHP&amp;文档,您将无法获取文件信息。生成变量服务器端。
如果你只是想要文件名&amp;其他通用信息(不是PHP生成的路径),请查看HTML5文件API at HTML5Rocks' Tutorial for File APIs here。
我希望我帮助过你。 ;)