php 提交表单中的图片地址,表单无刷新上传图片

近期做有关上传图片的项目,发现都没有使用无刷新页面上传方式,都是通过传统的上传图片跳转然后显示图片,这对于上传多张图片就太不适用!

网上也有各种异步上传的插件 如 swfupload等比较庞大的插件,利用flash上传,顺带介绍一个比较简洁的ajax上传图片的插件ajaxFileUpload:

现在普通上传方式上改造一下,实现无刷新上传

通过隐藏iframe,提交以后不跳转新页面上传(注意红色部分)

1)给form 设置一个target属性,提交的 时候会跳转到该地址

2)设置一个隐藏的iframe(注意名字和ID),上传地址输出的内容就会出现在iframe里面,在获取iframe里面的返回值(如图片地址)

上传页面部分代码:

这里显示图片

//用来显示返回结果,隐藏的iframe里面要调用这个显示图片的函数

functionshowpic(msg,status){

if(status=="ok"){

document.getElementById("myForm").reset();

document.getElementById("img").innerHTML = 'org_'+msg+'';

}else{

alert(msg);

}

}

3)上传图片php地址:

返回上传的图片地址以及状态

exit("");//生成图片成功,这个内容是输出到了隐藏的iframe里面

upload.php

$savepath = 'avatar/';//上传目录

$files = array_keys($_FILES);

$fiedname = $files[0];

if ((($_FILES[$fiedname]["type"] == "p_w_picpath/gif")|| ($_FILES[$fiedname]["type"] == "p_w_picpath/jpg")|| ($_FILES[$fiedname]["type"] == "p_w_picpath/bmp")|| ($_FILES[$fiedname]["type"] == "p_w_picpath/jpeg")|| ($_FILES[$fiedname]["type"] == "p_w_picpath/pjpeg")||($_FILES[$fiedname]["type"] == "p_w_picpath/png")||($_FILES[$fiedname]["type"] == "p_w_picpath/x-png"))){//3M

if($_FILES[$fiedname]["size"] < 1048576*3){

$extend = explode(".",$_FILES[$fiedname]["name"]);

$key = count($extend)-1;

$imgtype = ".".$extend[$key];

$newfilename = uniqid().date("Ymdhis").time();

$newfile = $newfilename.$imgtype;

if(!is_dir($savepath)) {

mkdir($savepath,0777,true);

}

$orgin_p_w_picpath_location = $savepath."org_".$newfile;//原图

//上传大图

$pic = move_uploaded_file($_FILES[$fiedname]["tmp_name"],$orgin_p_w_picpath_location);

chmod($orgin_p_w_picpath_location, 0777);

@unlink($_FILES[$fiedname]["tmp_name"]);

if(file_exists($orgin_p_w_picpath_location)){

exit("");//生成图片成功

}else{

exit("");

}

}else{

exit("");

}

}else {exit("");}

?>

by  cxr

同步博文:http://www.cnblogs.com/newbalanceteam/p/4849859.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值