PHP AJAX上传图片
来源:互联网 发布:电脑usb端口控制管理 编辑:程序博客网 时间:2024/04/28 16:03
1、页面代码
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>jQuery+php实现ajax文件上传</title>
<style type="text/css">
.demo{width:620px; margin:30px auto}
.demo p{line-height:32px}
.btn{position: relative;overflow: hidden;margin-right: 4px;display:inline-block;*display:inline;padding:4px 10px 4px;font-size:14px;line-height:18px;*line-height:20px;color:#fff;text-align:center;vertical-align:middle;cursor:pointer;background-color:#5bb75b;border:1px solid #cccccc;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-bottom-color:#b3b3b3;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}
.btn input {position: absolute;top: 0; right: 0;margin: 0;border: solid transparent;opacity: 0;filter:alpha(opacity=0); cursor: pointer;}
.progress { position:relative; margin-left:100px; margin-top:-24px; width:200px;padding: 1px; border-radius:3px; display:none}
.bar {background-color: green; display:block; width:0%; height:20px; border-radius: 3px; }
.percent { position:absolute; height:20px; display:inline-block; top:3px; left:2%; color:#fff }
.files{height:22px; line-height:22px; margin:10px 0}
.delimg{margin-left:20px; color:#090; cursor:pointer}
</style>
<script type="text/javascript" src="__PUBLIC__/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/jquery.form.js"></script>
</head>
<body>
<div id="main">
<h2 class="top_title"><a href="">jQuery+php实现ajax文件上传</a></h2>
<div class="demo">
<input type="file"><br/>
<p>说明:示例中只允许上传gif/jpg格式的图片,图片大小不能超过500k。</p>
<div class="btn">
<span>添加附件</span>
<input id="fileupload" type="file" name="mypic">
</div>
<div class="progress">
<span class="bar"></span><span class="percent">0%</span >
</div>
<div class="files"></div>
<div id="showimg"></div>
</div>
</div>
<script type="text/javascript">
$(function () {
var bar = $('.bar');
var percent = $('.percent');
var showimg = $('#showimg');
var progress = $(".progress");
var files = $(".files");
var btn = $(".btn span");
$("#fileupload").wrap("<form id='myupload' action='__MODULE__/Index/ajax_upload' method='post' enctype='multipart/form-data'></form>");
$("#fileupload").change(function(){
$("#myupload").ajaxSubmit({
dataType: 'json',
beforeSend: function() {
showimg.empty();
progress.show();
var percentVal = '0%';
bar.width(percentVal);
percent.html(percentVal);
btn.html("上传中...");
},
uploadProgress: function(event, position, total, percentComplete) {
var percentVal = percentComplete + '%';
bar.width(percentVal);
percent.html(percentVal);
},
success: function(data) {
files.html("<b>"+data.name+"("+data.size+"k)</b> <span class='delimg' rel='"+data.pic+"'>删除</span>");
var img = "./uploads/"+data.pic;
showimg.html("<img src='"+img+"'>");
btn.html("添加附件");
},
error:function(xhr){
btn.html("上传失败");
bar.width('0')
files.html(xhr.responseText);
}
});
});
$(".delimg").live('click',function(){
var pic = $(this).attr("rel");
$.post("__MODULE__/Index/ajax_upload?act=delimg",{imagename:pic},function(msg){
if(msg==1){
files.html("删除成功.");
showimg.empty();
progress.hide();
}else{
alert(msg);
}
});
});
});
</script>
<div id="footer">
</div>
</body>
</html>
2、控制器代码
public function ajax_upload(){
$action = $_GET['act'];
if($action=='delimg'){
$filename = $_POST['imagename'];
if(!empty($filename)){
unlink('./uploads/'.$filename);
echo '1';
}else{
echo '删除失败.';
}
}else{
$picname = $_FILES['mypic']['name'];
$picsize = $_FILES['mypic']['size'];
if ($picname != "") {
if ($picsize > 1024000) {
echo '图片大小不能超过1M';
exit;
}
$type = strstr($picname, '.');
if ($type != ".gif" && $type != ".jpg") {
echo '图片格式不对!';
exit;
}
$rand = rand(100, 999);
$pics = date("YmdHis") . $rand . $type;
//上传路径
$pic_path = "./uploads/". $pics;
move_uploaded_file($_FILES['mypic']['tmp_name'], $pic_path);
}
$size = round($picsize/1024,2);
$arr = array(
'name'=>$picname,
'pic'=>$pics,
'size'=>$size
);
echo json_encode($arr);
}
}
需要下载jquery.form.js和jquery-1.8.3.min.js这俩文件
- php+ajax上传图片
- Ajax+php上传图片
- PHP AJAX上传图片
- php ajax图片上传
- ajax+php图片上传
- Ajax-php 图片上传
- jQuery php ajax图片上传
- Ajax+PHP 异步上传图片
- jquery + ajax +php 实现上传图片
- Ajax+PHP+jQuery图片截图上传
- Ajax+PHP+jQuery图片截图上传
- PHP+jQuery+Ajax多图片上传
- thinkphp(php)+Ajax上传图片
- Ajax+PHP+jQuery图片截图上传
- PHP+jQuery+Ajax多图片上传
- PHP+ajax图片上传的简单实现
- PHP+jQuery+Ajax多图片上传
- php + html5 + ajax 异步上传图片
- UVa 10285 BFS的做法
- Codeforces Round #219 (Div. 1) A. Counting Kangaroos is Fun 【二分】
- Cocos2d-x 接入sdk遇到的小问题
- 计数排序
- kafka源码分析之producer
- PHP AJAX上传图片
- Java学习之IO流
- java实现文本编辑器
- git命令
- 全局捕获应用程序异常,并在出现异常状态重启应用,保持错误日志到手机
- spfa 算法模板
- hdu 3555 bomb 数位dp
- B树
- [树状数组] poj 2155 Matrix