ajax里写php文件名,Jquery+AJAX实现无刷新上传并重命名文件操作示例【PHP后台接收】...

本文实例讲述了Jquery+AJAX实现无刷新上传并重命名文件操作。分享给大家供大家参考,具体如下:

index.html

Ajax上传图片

Ajax上传图片

function upload(){

var form = new FormData(document.getElementById("form"));

$.ajax({

url:"upload.php",

type:"post",

data:form,

cache: false,

processData: false,

contentType: false,

success:function(data){

if (data.res == "400") {

$("#upload-result").text("上传成功");

$("#imgdiv").html("%22+data.path+%22%5C%22");

}else if (data.res == "403") {

$("#upload-result").text("格式不对");

}else if (data.res == "404") {

$("#upload-result").text("上传错误");

}

},

error:function(data){

alert("上传失败")

}

})

}

upload.php

header("Content-type:application/json");

//获取原始文件名

$filename = $_FILES["file"]["name"];

//获取文件后缀名

$hzm = substr($filename,strpos($filename,"."));

//设置新文件名

$newfilename = substr(str_shuffle("QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm"),26,10);

// 允许上传的图片后缀

$allowedExts = array("gif", "jpeg", "jpg", "png");

$temp = explode(".", $filename);

$extension = end($temp);

if ((($_FILES["file"]["type"] == "image/gif")

|| ($_FILES["file"]["type"] == "image/jpeg")

|| ($_FILES["file"]["type"] == "image/jpg")

|| ($_FILES["file"]["type"] == "image/pjpeg")

|| ($_FILES["file"]["type"] == "image/x-png")

|| ($_FILES["file"]["type"] == "image/png"))

&& ($_FILES["file"]["size"] < 2048000) // 小于 2000 kb

&& in_array($extension, $allowedExts))

{

if ($_FILES["file"]["error"] > 0)

{

echo "{\"res\":\"404\"}";

}

else

{

// 此处可以输出文件的详细信息

if (file_exists("upload/" . $newfilename.$hzm))

{

//

}

else

{

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $newfilename.$hzm);

echo "{\"path\":\"$newfilename$hzm\",\"res\":\"400\"}";

}

}

}

else

{

echo "{\"res\":\"403\"}";

}

?>

请在当前目录建立upload文件夹用于存放上传后的图片

GiF Demo

d1nim0kimqw.jpg

更多关于jQuery相关内容可查看本站专题:《jquery中Ajax用法总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值