php - 文件上传验证

标签 php javascript html file-upload validation

我应该像这样循环使用文件上传,

<form action="upload.php" method="post" enctype="multipart/form-data" name="form1"  id="form1"onsubmit="return(validate());">   
<?php for($i=0;$i<3;$i++)?>
<?php {?>
Select file:
<input name="ufile[]" type="file" id="file<?=$i;?>" size="50" />
<?php }?>
<input type="hidden" name="ivalue" value="3" id="someVar"/>
<input type="submit" name="Submit" value="Upload" />
</form>

我已经对文件上传进行了一些验证。喜欢,

<script type="text/javascript">
function validate()
{
var x=document.getElementById("someVar").value;
      for(i=0;i<x;i++) 
    {


     var filename=document.getElementById('file'+i).value;
     var extension=filename.substr(filename.lastIndexOf('.')+1).toLowerCase();
     if(filename)
     {
         if(extension=='png' || extension=='gif' || extension=='jpg' ||extension=='jpeg') {
                return true;
            } else {
                alert('Allowed Extensions are "png","gif" and "jpg" !');
                return false;
            }
         return true;
     }
     else
     {
         alert('Select upload files!');

         return false;
     }
    }

  }
</script>

但我的脚本只验证第一个文件。(我知道这是由于 id 命名约定)。但是如果用户没有选择任何文件,我需要进行验证。我该怎么做?我的意思是,我怎样才能对 for 循环中的所有文件进行验证?

谢谢!

最佳答案

<script type="text/javascript">
function validate()
{
    var x=document.getElementById("someVar").value;
    for(i=0;i<x;i++)    {
        var filename=document.getElementById('file'+i).value;
        var extension=filename.substr(filename.lastIndexOf('.')+1).toLowerCase();
        if (filename) {
            if (extension=='png' || extension=='gif' || extension=='jpg' ||extension=='jpeg') {
            } else {
                alert('Allowed Extensions are "png","gif" and "jpg" !');
                return false;
            }
        } else {
            alert('Select upload files!');
            return false;
        }
    }
    return true;
}
</script>

关于php - 文件上传验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11094022/

相关文章:

php - 将搜索重定向到主页

javascript - 通过http请求发送字符串

html - Angular 分量中的未知空间

php - 来自 Angular 的 $http.post 到达 php,但 Angularjs 中未收到响应

javascript - 如何在codeigniter中的javascript警报中使用php代码

javascript - 在 JavaScript 中创建枚举

html - Phoenix 的静态 HTML 页面

html - 使用包含列的数据集内容渲染 Div

php - 每个页面上的不同 Logo -wordpress

javascript - 电话号码验证正则表达式由一个加号开始和前面的数字组成