更多技术文章请移步
http://www.dahuzhi.com




以下是部分代码:
<{include file="comm/header.html"}>
<!--多文件上传-->
<link href="/Public/duo_uploads/css/default.css" rel="stylesheet" type="text/css" />
<link href="/Public/duo_uploads/css/uploadify.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="/Public/duo_uploads/scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="/Public/duo_uploads/scripts/swfobject.js"></script>
<script type="text/javascript" src="/Public/duo_uploads/scripts/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#uploadify").uploadify({
'uploader' : '/Public/duo_uploads/scripts/uploadify.swf', //上传按钮
'script' : '/index.php/article/upload', //ajax请求文件
'cancelImg' : '/Public/images/cancel.png', //关闭按钮图片地址
'folder' : "../uploads/<{$time}>/", //时间
'queueID' : 'fileQueue',
'fileExt' : '*.jpg;*.gif;*.bmp;', //允许文件上传类型,和fileDesc一起使用.
'fileDesc' : '*.jpg;*.gif;*.bmp;', //将不允许文件类型,不在浏览对话框的出现.
'auto' : false,
'multi' : true, //是否支持多文件上传
'onComplete':function(event,queueId,fileObj,response,data){
$('#info').html($('#info').html() + '<div class="img_box" ><img name="'+ response +'" src="/Public/Uploads/'+response+'" width="50" height="50"> <p onclick=del_img(this); >删除</p><input type="hidden" name="imgs[]" value="'+ response +'"></div>');//在页面上显示文件相对路径
}
});
});
//删除文件
function del_img(whichSong)
{
//盒子对象
var info = document.getElementById('info');
//当前图片对象
var zi = whichSong.parentElement;
//图片名称
var path = zi.firstChild.name
//产生对象
var ajax=new XMLHttpRequest;
//生成事件处理器
ajax.onreadystatechange=function(){
if (ajax.readyState==4) { //判断请求状态为4完成的时候
if (ajax.status==200) { //判断服务器的http状态码等于200
//alert(ajax.responseText); //弹出服务器的响应
if(ajax.responseText)
{
//删除当前
info.removeChild(zi);
}
}
}
}
//打开链接
ajax.open('post','/index.php/article/img');
//设置http传输
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
//发送
ajax.send('action=del_img&path=' + path);
}
</script>
<!--判断要修改的图片文章是否有上传多图片-->
<{if $info }>
<script type="text/javascript">
$(document).ready(function() {
//所有的图片
var imgs = $('#imgs').val();
var str = '';
//分割图片
arr = imgs.split(',');
//组合每个图片html
for(var i = 0; i < arr.length; i++)
{
if(arr[i])
{
str += '<div class="img_box" ><img name="'+ arr[i] +'" src="/Public/Uploads/'+arr[i]+'" width="50" height="50"> <p onclick=del_img(this); >删除</p><input type="hidden" name="imgs[]" value="'+ arr[i] +'"></div>';
}
}
//所有图片html添加到已上传的图片盒子里
$('#info').html(str);
});
</script>
<{/if}>
<div class="main_right">
<!-- main_right_title -->
<div class="main_right_title">
<em class="em eml"></em>
<em class="em emr"></em>
<div class="main_right_title_con">
<a class="righttitlea" href="/index.php/class/add/p_id/0">内容列表</a>
<a class="righttitlea1" href="#">内容管理/</a>
<a class="righttitlea2" href="#">图片发布</a>
</div>
</div>
<!-- main_right_title end -->
<div class="linetab">
<div class="linetab_title">
<a class="hover" href="javascript:void(0)" style="float:left"><{if $info }>图片编辑<{else}>图片发布<{/if}></a>
</div>
<div class="linetab_con">
<em class="emlf"></em>
<em class="emrf"></em>
<div class="linetab_con_neir">
<form action="" method="post" name="example" enctype="multipart/form-data">
<input type="hidden" name="action" value="<{if $info }>edit<{else}>add<{/if}>"/>
<{if $info }>
<input type="hidden" name="bak_img" value="<{$info['simg']}>"/>
<input type="hidden" name="id" value="<{$info['id']}>"/>
<input type="hidden" id="imgs" value="<{$info['img']}>"/>
<{/if}>
<!--case 1: $type = '文章'; break;
case 2: $type = '产品'; break;
case 3: $type = '图片'; break;
case 4: $type = '下载'; break;-->
<input type="hidden" name="type" value="3"/>
<div class="linetab_con_line" style="display:block">
<table class="brand_table" cellspacing="0" cellpadding="0">
<tr>
<th>相片:</th>
<td>
<div id="container">
<div id="fileQueue"></div>
<div class="btn-group">
<input type="file" name="uploadify" id="uploadify" />
<a href="javascript:jQuery('#uploadify').uploadifyUpload()" class="btn">上传</a>
<a href="javascript:jQuery('#uploadify').uploadifyClearQueue()"class="btn">取消上传</a>
<p id="text_anniu">提示:只能上传<br />(jpg,gif,bmp)<br />格式图片</p>
</div>
<div id="info" ></div>
</div>
</td>
</tr>
<tr>
<th class="list"> </th>
<td class="list">
<input type="submit" value="确定" class="btn"/>
</td>
</tr>
</table>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="clear"></div>
<{include file="comm/footer.html"}>
//多文件上传
function upload()
{
import("ORG.Net.Image3");
if (!empty($_FILES))
{
//获取文件名
$tempFile = $_FILES['Filedata']['tmp_name'];
//保存路径
$targetPath = APP_PATH . 'Public/Uploads/';
//新图片名
$new_file_name = new_name( $_FILES['Filedata']['name']);
//图片网站路径
$targetFile = $targetPath . $new_file_name;
//判断是否文件夹存在
if(!is_dir($targetPath))
mkdir($targetPath, 0777, true);
//防止中文文件名乱码
move_uploaded_file($tempFile,iconv('utf-8','gbk', $targetFile));
//水印
$water = 'water.gif';
$img = new Image3();
$img->param($targetFile)->water($targetFile,$water,9);
//ajax返回图片名称
echo get_relative_path($new_file_name);
}
}
//图片模块
public function img()
{
$c = D('class');
$a = D('article');
if($_POST['action'] == 'add')
{
//判断是否有上传多文件
if($_POST['imgs'])
{
$_POST['img'] = '';
foreach ($_POST['imgs'] as $v)
{
$_POST['img'] .= $v . ',';
}
}
//加载上传类
$file = static::get_file(2097152);
//判断是否上传文件
$_POST['simg'] = ($file) ? $file : '' ;
$_POST['addtime'] = exec_time();
//dump($_POST);die();
//过滤数据并添加
$a->create();
if($a->add())
static::success('添加成功', 3000, 1, 0);
}
//获取所有分类信息
$data = $c->order('nos asc')->select();
//格式化无线分类
$data = static::get_class($data);
$this->assign('data', $data);
//时间输出
$this->assign('time', date('Y-m-d', time()));
$this->display();
}
uploadify_v1.0.rar
( 62.44 KB 下载:1392 次 )