基于jquery.form.js的图片上传功能实现与代码示例
作者:桌面漫游时间:2026-10-30 06:01:16浏览:313
本文介绍了利用jquery.form.js插件实现无刷新图片上传的具体方法。通过前端HTML表单配置与jQuery脚本调用,结合后端PHP代码对文件类型、路径及存储进行验证处理,完成完整的图片上传流程。
jquery.form.js图片上传实现方案
本文通过具体实例,详细讲解了如何借助jquery.form.js插件来完成图片上传功能。以下内容供读者参考与学习。
后端处理文件名为testupfile2.php。
<?php
header('Content-type:text/html;charset=utf-8');
include_once 'includes/common.inc.php';
if(!empty($_FILES['upfile'])){
//文件格式
$image=array('image/jpg',
'image/jpeg',
'image/png',
'image/pjpeg',
'image/gif',
'image/bmp',
'image/x-png'
);
$updir=$_SERVER['DOCUMENT_ROOT'].$_config['g']['baseUrl'].'/attached/images/';
$upfile=$_FILES['upfile'];
$name=$upfile['name'];
$ext=substr($upfile['name'],strpos($upfile['name'],'.'));
$upname=md5(time().rand(1, 1000)).$ext;
$type=$upfile['type'];
$size=$upfile['size'];
$tmp_name=$upfile['tmp_name'];
$error=$upfile['error'];
$ok=0;
foreach ($image as $key=>$value) {
if($type==$value)$ok=1;
}
if($ok=='1' && $error=='0'){
move_uploaded_file($tmp_name,$updir.$upname);
//echo '<br>'.$tmp_name.'<br>'.$upname.'<br>'.$updir.'<br>'.$ext.'上传成功';
//echo '上传成功';
echo $upname;
//$im=$updir.$upname;
//echo $im;
//echo '<img src='.$updir.$upname.' />';
//$views->assign('image',$upname);
//$views->display('default/testupfile.html');
}
else echo '上传失败2';
}
else echo '上传失败1';
?>
前端页面文件名为testupfile.html。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="<!--{$baseUrl}-->/scripts/jquery.js"></script>
<script type="text/javascript" src="<!--{$baseUrl}-->/scripts/jquery.form.js"></script>
<script type="text/javascript">
$(function(){
//jquery.form image1
$("#upimage").bind("click",function(){
if($("#upfile").val()==""){
alert("请选择一个图片文件,再点击");
return;
}
$("#form1").ajaxSubmit({
url:"testupfile2.php",
type:"POST",
//date:"upfile=upfile",
success:function(response){
alert(response);
$("#ln").empty();
$("#ln").append("<img src='<!--{$baseUrl}-->/attached/images/"+response+"' width='100' height='60'/>");
$("#im1").val(response);
},
error:function(msg){
alert("出错了");
}
});
});
//jquery.form image2
$("#upimage2").bind("click",function(){
if($("#upfile2").val()==""){
alert("请选择一个图片文件,再点击2");
return;
}
$("#form2").ajaxSubmit({
url:"testupfile2.php",
type:"POST",
//date:"upfile=upfile2",
success:function(response2){
alert(response2);
$("#ln2").empty();
$("#ln2").append("<img src='<!--{$baseUrl}-->/attached/images/"+response2+"' width='100' height='60'/>");
$("#im2").val(response2);
},
error:function(msg){
alert("出错了");
}
});
});
});
</script>
</head>
<body>
文件上传
<form enctype="multipart/form-data" id="form1" method="post" action="">
文件:
<input type="file" name="upfile" id="upfile"><input type="button" id="upimage" value="图片上传1">
<input type="text" name="im1" id="im1" value="" />
</form>
<form enctype="multipart/form-data" id="form2" method="post" action="">
文件:
<input type="file" name="upfile" id="upfile2"><input type="button" id="upimage2" value="图片上传2">
<input type="text" name="im2" id="im2" value="" />
</form>
<div id="ln">tu</div><br>
<div id="ln2">tu2</div>
</body>
</html>
若读者对jQuery相关技术感兴趣,可进一步查阅本站发布的《jQuery form操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery切换特效与技巧总结》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》、《jquery选择器用法总结》以及《jQuery常用插件及用法总结》等系列文章。
期望本文提供的方案能对各位在jQuery程序开发过程中提供实际帮助。
作者最新文章
Mock.js 拦截失效或数据格式错误的常见原因及排查
2026-11-05 10:11:59
Java和JavaScript名字像但没关系:辨析Java、JavaWeb与JS
2026-11-04 09:30:54
CodePen、JSFiddle与RunJS对比:哪款JS在线运行工具更适合你?
2026-11-03 16:46:57
JS 统计图渲染空白或报错怎么排查?常见问题解决指南
2026-11-03 09:49:40
flv.js 常见报错 MediaError 与解码失败排查指南
2026-11-02 10:29:29
