上传文件<input />的php javascript表单验证

时间:2010-09-04 07:56:20

标签: php javascript

希望获得验证脚本以验证文件上传框onsubmit。

检查文件的扩展名并相应地验证加载文件的扩展名

3 个答案:

答案 0 :(得分:2)

点击此处:http://jsfiddle.net/uh2Gn/

HTML:

<form method="post" enctype="" onsubmit="return validate()">
    <input type="file" id="file" />
    <input type="submit" />
</form>

JavaScript的:

function validate() {
    var filename=document.getElementById('file').value;
    var extension=filename.substr(filename.lastIndexOf('.')+1).toLowerCase();
    //alert(extension);
    if(extension=='jpg' || extension=='gif') {
        return true;
    } else {
        alert('Not Allowed Extension!');
        return false;
    }
}

请记住,这只是为了方便用户,他不会长时间提交过程以在服务器上收到错误,因为您确定必须在服务器上执行检查侧的。

答案 1 :(得分:1)

如果您不介意jquery,那么您可以使用可用的验证插件here。我们提供了简要介绍和小型演示here

答案 2 :(得分:0)

我在我的php脚本中使用以下内容进行验证。

$status_file = validate_and_upload("project_file");


function validate_and_upload($input_tag_name)
{
    $allowedExts = array("gif", "jpeg", "jpg", "png", "ppt", "doc", "pdf", "xls", "xlxs", "txt", "docx");
    $filename = $_FILES[$input_tag_name]['name'];
    if ( !$filename )
      return 0;
    $extension = pathinfo($filename, PATHINFO_EXTENSION);

    if ( ($_FILES[$input_tag_name]["size"] < 33554432) && in_array($extension, $allowedExts) ) // 33554432 is 32.00 MB
        {
            if ($_FILES[$input_tag_name]["error"] > 0) 
            {
                echo "Return Code: " . $_FILES[$input_tag_name]["error"] . "<br>";
                return -1;
            } 
            else 
            {
                if (file_exists("/sites/default/files/private/" . $_FILES[$input_tag_name]["name"])) 
                {
                    echo $_FILES[$input_tag_name]["name"] . " already exists. ";
                    return 2;
                } 
                else 
                {
                    $hard_disk_upload_directory = "C://xampp/htdocs/mywebsite/sites/default/files/private/";
                    if (move_uploaded_file($_FILES[$input_tag_name]["tmp_name"], $hard_disk_upload_directory . $_FILES[$input_tag_name]["name"]))
                        return 1;
                    else
                        return -1;
                }
            }
        } 
        else 
        {
            echo "<script>alert('Invalid file'); window.location.href='http://mywebsite/home';</script>";
            return -1;
        } 
    }