0

我有一个包含两个文件上传字段的表单。当您正常使用 PHP 处理通过 HTML 上传的文件时,您会得到一个包含所有文件信息的$_FILES数组,其中包含 、 等条目$_FILES['name']$_FILES['tmp_name']

我希望能够使用 jQuery 获取所有这些信息。如果$('[name="textfile1"]').val()我上传. 有没有办法获取实际的信息数组?我有一堆文本输入字段以及文件上传字段,我希望能够通过 AJAX 调用一次传递所有信息。C:/fakepath/test.txttest.txt

    <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> 
4

1 回答 1

1

我讨厌在你的游行上下雨,但那是不可能的

PHP 在服务器端处理事情。提交表单时生成的信息(如文件大小、文件类型、文件tmp路径等)都是在表单提交时生成的。如果这是可能的,表单验证会容易得多,因为它可以在插入文件期间进行检查。但是,这也会带来安全风险,因为它会暴露当前用户名(通过包含用户名的文件路径)。

您提到您想通过 ajax 推送它。文件不能异步发送。这可以通过简单地通过 ajax 提交表单来完成。但是,如果不先通过 PHP 并在服务器端生成变量,您将无法获取文件信息。

如果您只是想要文件名和其他通用信息(而不是 PHP 生成的路径),请在此处查看 HTML5Rocks 的文件 API 教程中的 HTML5 文件 API 。

我希望我对你有所帮助。;)

于 2013-08-03T01:03:53.267 回答