0

我想上传多个文件并有一个名为 test.php 的文件,其中包含以下代码:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">

<script src="js/jquery-1.8.0.min.js"></script>
<script>
$(function(){
var myVar;
$('form').submit(function(){
    myVar = setInterval(ajax, 1000);
});
var ajax = function() {
    $.ajax({
        url: 'test2.php',
        type: 'post',
        success: function(ajax_result){
            $('.result').html(ajax_result);
            if (!ajax_result) {
                clearInterval(myVar);
            }
        },
        error: function(){
            alert('error');
        }
    });
};
});
</script>
</head>
<body style="width:100%; height:100%;">
<form action="test2.php" target="iframe" method="post" enctype="multipart/form-data" >
    <input type="hidden" name="<?php echo ini_get("session.upload_progress.name"); ?>" value="fil" />
    <input name="file[]" type="file" multiple />
    <input type="submit">
</form>
<iframe id="iframe" name="iframe"></iframe>
<div class="result" style="width:100%; height:100%;"></div>

</body>
</html>

和一个名为 test2.php 的文件,其中包含以下代码:

<?php
session_start();
if (isset($_FILES['file'])){
for ($i = 0; $i < count($_FILES['file']['tmp_name']); $i++) {
move_uploaded_file($_FILES['file']['tmp_name'][$i],'a/'.$_FILES['file']['name'][$i]);
}
}
if (isset($_SESSION[$key = ini_get("session.upload_progress.prefix") . 'fil'])) {
     var_dump($_SESSION[$key]);

} else echo false;
?>

现在我想在将文件发送到服务器之前检测通过客户端名称选择的文件数量。

我怎样才能做到这一点?

4

1 回答 1

0
$('form').submit(function() {
    var numberOfFilesAboutToBeSubmitted = $("[name='file[]']", this ).prop("files").length;

});

请注意,您没有使用 ajax 请求提交任何文件,它与您的表单根本没有关联。

另请注意,这在 IE < 10 中不起作用

于 2013-04-06T11:39:30.870 回答