php产品细节图多图上传示例代码 无刷新
前台文件代码
upload.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>产品细节图多图上传示例代码 无刷新</title>
<style>
.filepath{width:300px;}
.uploadinfo{color:#009900;}
</style>
<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
function process(v){
if(v=="inform"){
document.addimgform.action="do_upload.php";
$("form").attr("target","fileUp");
}
document.addimgform.submit();
} $(document).ready(function(){ ////////////////////
$('#add_gallery').click(function(){
$("#gallery").append('<div class="addinput"><a href="javascript:;" class="remove_gallery">[-]</a> <input name="filepath[]" id="textpath" class="textpath" type="text" value="" /> <input type="file" name="img_gallery[]" id="img_gallery" class="filepath" /> <span class="spanimg"></span></div>');
}); ////////////////////
$(document).on("click",".remove_gallery",function(){$(this).parent(".addinput").remove();}); ////////////////////
$(document).on("change",".filepath",function(){
var route=$(this).val();
$(this).parents(".addinput").find(".textpath").val(route);
}); ////////////////////
$(document).on("click",".delimg",function(){
id = $(this).attr("rel");
url = $(this).attr("rev");
path = $(this).attr("rep");
name = $(this).parents(".addinput").find(".filepath").val();
$.post
(
"do_upload.php",
{imgid:id,imgurl:url,imgpath:path},
function(){
alert('图片 '+name+' 已删除!');
},
"html"
);
$(this).parents(".addinput").remove();
}); //////////////////// }); </script> </head> <body> <!--<form id="addimgform" name="addimgform" target="fileUp" enctype="multipart/form-data" action="do_upload.php" method="post">-->
<form id="addimgform" name="addimgform" enctype="multipart/form-data" action="product.php" method="post">
<fieldset>
<legend>产品上传</legend> 产品名:<input name="proname" type="text" value="" /><br /><br />
价 格:<input name="price" type="text" value="" /><br /><br /> <fieldset>
<legend>图片上传</legend> <div id="gallery">
<div class="addinput"><a href="javascript:;" class="remove_gallery">[-]</a> <input name="filepath[]" id="textpath" class="textpath" type="text" value="" /> <input type="file" name="img_gallery[]" id="img_gallery" class="filepath" /> <span class="spanimg"></span></div>
</div>
<a href="javascript:;" id="add_gallery">[+]</a>
<input name="upimg" type="submit" value="上传" id="upimg" onclick="process('inform')">
<span class="uploadinfo"></span>
</fieldset>
<iframe style="border:0px;" width="0px" height="0px" name="fileUp"></iframe> <script>
function notice_success(i,url,path,info){
$("#gallery .textpath").eq(i).val(url);
$("#gallery .spanimg").eq(i).html(info+'<img src="'+url+'" style="width:60px; height:60px;" align="absmiddle" /> <a class="delimg" href="javascript:;" rel="'+i+'" rev="'+url+'" rep="'+path+'">删除</a> ');
}
function notice_failure(info){
$("#gallery .spanimg").eq(i).html(info);
}
</script> <input name="submit" type="submit" value="提交" id="submit"> </fieldset> </form>
</body>
</html>
后台文件代码
do_upload.php
<?php
$basedir = dirname(__FILE__).'/'.date('Y-m-d');
$new_folder = str_replace('\\','/',$basedir);
if(file_exists($new_folder)){
//echo 'exists';
}else{
mkdir($new_folder, 0777);
}
?>
<?php
if (isset($_POST['imgid']) && isset($_POST['imgurl']) && isset($_POST['imgpath'])){
if(file_exists($_POST['imgpath'])){
$thepath = str_replace('/','\\',$_POST['imgpath']);
unlink($thepath);
}else{
echo '未找到相关文件';
}
}
if(!empty($_FILES)){
for ($i=0;$i<count($_FILES['img_gallery']['tmp_name']);$i++){
//$file_name = iconv('utf-8', 'gb2312', $_FILES['img_gallery']['name']);//在utf8编码下可以防止中文乱码
$upfile = $new_folder."/".$_FILES['img_gallery']['name'][$i];//此处路径换成你的
$imgpath = 'http://'.$_SERVER['SERVER_NAME'].'/images/'.date('Y-m-d').'/'.$_FILES['img_gallery']['name'][$i];//上传后的图片url
if(move_uploaded_file($_FILES['img_gallery']['tmp_name'][$i],$upfile)){
//echo "第".($i+1)."张图片上传成功<br>";
$info = "第".($i+1)."张图片上传成功! ";
//此处进行数据库操作
?>
<script>parent.notice_success('<?php echo $i;?>','<?php echo $imgpath;?>','<?php echo $upfile;?>','<?php echo $info;?>');</script>
<?php
@unlink($_FILES["img_gallery"]["tmp_name"][$i]);
}
else{
$info = "第".($i+1)."张图片上传不成功! ";
?>
<script>parent.notice_failure('<?php echo $info;?>');</script>
<?php
}
}
}
?>
打完收工!
php产品细节图多图上传示例代码 无刷新的更多相关文章
- js 实现 input type="file" 文件上传示例代码
在开发中,文件上传必不可少但是它长得又丑.浏览的字样不能换,一般会让其隐藏点其他的标签(图片等)来时实现选择文件上传功能 在开发中,文件上传必不可少,<input type="file ...
- HTML5实现多文件的上传示例代码
[转自] http://www.jb51.net/html5/136791.html 主要用到的是<input>的multiple属性 代码如下: <input type=" ...
- mui开发app之多图压缩与上传(仿qq空间说说发表)
欲实现效果图 提出需求点: 用户可自由添加删除替换多张图片,并且显示相应缩略图,限制为8张 用户可选择压缩图或直接上传原图功能 返回提醒用户会丢失填写的信息 下面一个个实现上述需求,从简单到复杂: 需 ...
- jQuery AJAX 网页无刷新上传示例
新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...
- UEditor之实现配置简单的图片上传示例
UEditor之实现配置简单的图片上传示例 原创 2016年06月11日 18:27:31 开心一笑 下班后,阿华到楼下小超市买毛巾,刚买完出来,就遇到同一办公楼里另一家公司的阿菲,之前与她远远的有过 ...
- JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理
文章目录 Git管理准备工作 Git工具上传代码 发布代码装程序 mywebsql管理 京东云引擎小结 JAE京东云引擎是京东推出的支持Java.Ruby.Python.PHP.Node.js多语 ...
- WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...
- 【转载】兼容php5,php7的cURL文件上传示例
转载来自: http://www.huanlinna.com/2016/06/25/coding/php5-php7-upload-demo-via-curl.html https://segment ...
- git上传项目代码到github
参考: git学习——上传项目代码到github github上传时出现error: src refspec master does not match any解决办法 git 上传本地文件到gith ...
随机推荐
- python MySQLdb 如何设置读超时read_timeout
在python中,经常用到 MySQLdb操作MySQL数据库. 在实现上,MySQLdb并不是纯python的,而是封装了MySQL C API库_mysql. 对于MySQLdb是否支持read_ ...
- leetcode 72. 编辑距离
/***** 定义状态: DP[i][j]其中i表示word1前i个字符,j表示Word2前i个字符 DP[i][j]表示单词1前i个字符匹配单词2前j个字符,最少变换次数: 状态转移: for i: ...
- leetcode 139 单词拆分(word break)
一开始的错误答案与错误思路,幻想直接遍历得出答案: class Solution { public: bool wordBreak(string s, vector<string>& ...
- [mysql]设置创建时间,更新时间未生效
问题描述: 新增一条case,create_time没有自动生成创建时间,值为空 原因 : create_time字段类型是DateTime(错误)而不是TIMESTAMP(正确) 解决办法: 把c ...
- LinkedHashSet 的实现原理
原文:http://wiki.jikexueyuan.com/project/java-collection/linkedhashset.html LinkedHashSet 概述 思考了好久,到底要 ...
- java:Hibernate框架4(延迟加载(lazy),抓取(fetch),一级缓存,get,load,list,iterate,clear,evict,flush,二级缓存,注解,乐观锁和悲观锁,两者的比较)
1.延时加载和抓取: hibernate.cfg.xml: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-co ...
- SQLALchemy如何查询mysql某个区间内的数据
查了下,找到3种方式: 方法一注意时间格式:xxxx-xx-xx 方法二没有‘day’ 方法三的时间格式同方法一 1.result = Jobs.query.filter(Jobs.create_ti ...
- 转·c语言函数指针的理解与使用
原文出处:https://www.cnblogs.com/haore147/p/3647262.html 1.函数指针的定义 顾名思义,函数指针就是函数的指针.它是一个指针,指向一个函数.看例子: 1 ...
- Spring cloud 项目———酷派手机商城 (话术)1.0
酷派电商网站 描述: 随着电子商务的发展,网上购物正在趋于一种时尚,电子商务网站也逐渐成为企业顺应潮流的标配.大多数人知道可能在电子商务网站前端有查询,注册登录,购物车等等功能.可是您知道建设电子商 ...
- 【miscellaneous】网络摄像机
自20世纪90年代初期网络摄像机开始诞生,产业已历经20余年的演变. "IP大时代"的口号在安防领域已响彻已久,但也是自2015年至今才开使有了真正的底气.当全面超越模拟已尘埃落定 ...