$User-fenxiang_fm = 'Uploads/'.$info[0]["savename"]; // 这里的$info[0]["savename"]的下标[0]表示上传的第1个图片按顺序,记住是下标
function upload(){
import("ORG.Net.UploadFile");
$upload = new UploadFile();// 实例化上传类
$upload-allowExts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload-saveRule = time;//这里的时间是根据上传的图片的多少来自动改变图片的名称的(并且时间都不同,所以上传的图片的名称就不会相同)
有详细的注释,不清楚直接CALL我
主要是利用了JS来控制文件域,增加或者删除来实现的.
html xmlns=""
head
meta http-equiv="Content-Type" content="text/html; charset=gbk" /
meta name="Keywords" content=""/
meta name="Description" content=""/
title动态添加图片/title
script type="text/javascript"
function addimg(){
//包含所有文件域的DIV
//文件域
var input = document.createElement("input");
input.name = "img[]";
input.type = 'file';
//添加
//删除按钮
var button = document.createElement("a");
button.href = "javascript:;";
button.innerHTML = '删除';
//换行
var br = document.createElement("br");
//在按钮上增加删除的事件
button.onclick = function(){
input.parentNode.removeChild(input);
this.parentNode.removeChild(this);
br.parentNode.removeChild(br);
}
/script
/head
body
form method="POST" enctype="multipart/form-data" action="upload.php"
请选择图片:
input type="file" name="img[]"/br/
input type="button" onclick="addimg()" value="增加"/
/form
/body
/html
方法一:
你这样以json
的形式保持多条记录
不好修改数据记录的,程序些下来也比较纠结
方法二:
在修改页面的时候
把
json
数据
格式化为
数组
用foreach
把这些图片路径
循环到
隐藏域里面
一个
时候
就用js
删除图片对应的隐藏域
(至于图片的删除
可以用ajax
来实现)
最后表单提交的时候
:
就值接收到了
没有删除的图片的隐藏域
保存更改入库就
行了!
希望对你有用
代码如下
然后后台处理完上传图片逻辑后返回给前台,利用ajax修改当前页面DOM对象实现无刷新上传图片的友好功能.
实例
php代码:
php
if ($_files["test_file"]["error"] 0)
{
echo "Error: " . $_files["test_file"]["error"] . "br /";
else
//这里的判断图片属性的方法就不写了.自己扩展一下.
$filetype=strrchr($_files["test_file"]["name"],".");
$filetype=substr($filetype,1,strlen($filetype));
$filename="img/".time("YmdHis").".".$filetype;
move_uploaded_file($_files["test_file"]["tmp_name"],$filename);
echo 'script alert(1)/script';
$return="parent.document.getElementByIdx_x('mpic".$pageset_id."').innerhtml='".$dataimgpath."'";
echo "script alert('上传成功')/script";
echo "script{$return}/script";
其实jquery ajax图片异步上传
html:
""
html xmlns="" lang="en_US" xml:lang="en_US"
title图片异步上传/title
script type="text/javascript" src="js/jquery.js"/script
script type="text/javascript" src="js/index.js"/script
link type="text/css" rel="stylesheet" href="css/index.css"
form name="uploadFrom" id="uploadFrom" action="upload.php" method="post" target="tarframe" enctype="multipart/form-data"
input type="file" id="upload_file" name="upfile"
index.js
$(function(){
$("#upload_file").change(function(){
$("#uploadFrom").submit();
});
function stopSend(str){
var im="img src='upload/images/"◆str◆"'";
$("#msg").append(im);
upload.php
$file=$_files['upfile'];
move_uploaded_file($file['tmp_name'],"upload/images/".$name);
//调用iframe父窗口的js 函数
echo "scriptparent.stopSend('$name')/script";
异步上传图片几种方法
获取路径下的所有图片文件名,写入数据库或是某个变量,在别的页面调用程序上传,再从别的页面读出来就行了.
以下是示例代码:
function upload($fileName,$filePath)
//判断该文件是否是用户根据POST方式提交到服务器的上传文件
foreach($_FILES[$fileName]['tmp_name'] as $k=$v)
if($_FILES[$fileName]['name'][$k]!="")
$result=check($_FILES[$fileName]['size'][$k],$_FILES[$fileName]['type'][$k],$_FILES[$fileName]['name'][$k]);
if($result['error']==1)
echo $result['msg']."br";
echo "出错文件:".$result['name']."br";
$arrTT=explode(".",$_FILES[$fileName]['name'][$k]);
$extName=$arrTT[count($arrTT)-1];
$NewName=sha1(microtime()).".".$extName;
if(move_uploaded_file($v,$filePath.$NewName));
$arrWW[]=$NewName;
return $arrWW;
function check($size,$types,$name)
$result['msg']='文件过大!';
$result['error']=1;
$result['name']=$name;
if(!in_array($types,$arrType))
$result['msg']='文件类型不匹配!';
return $result;