希望获得验证脚本以验证文件上传框onsubmit。
检查文件的扩展名并相应地验证加载文件的扩展名
答案 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)
答案 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;
}
}