html 上传文件重命名,Jquery+AJAX上传文件,无刷新上传并重命名文件

本文介绍了如何使用Ajax在前端实现表单提交,并详细解析了PHP后端的文件上传验证逻辑,包括文件类型、大小限制及重命名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

55fd2b2273b5a8b4531f72773c469d6e.gif

3550565365-5d558e1190c44_articlex.png (13.14 KB, 下载次数: 1)

2019-11-16 11:37 上传

前端 index.html

[HTML] 纯文本查看 复制代码

Ajax提交form

function test(){

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

$.ajax({

url:"dooo.php",

type:"post",

data:form,

cache: false,

processData: false,

contentType: false,

success:function(data){

//提交成功

var result=document.getElementById("Result");

if (data[0].res == "ok") {

result.innerHTML="%22+data%5B0%5D.path+%22%5C%22";

}else if (data[0].res == "格式不对") {

result.innerHTML="不允许上传这种格式";

}else if (data[0].res == "文件已存在") {

result.innerHTML="文件已存在";

}else if (data[0].res == "上传错误") {

result.innerHTML="上传错误";

}

},

error:function(data){

var result=document.getElementById("Result");

result.innerHTML="服务器错误";

}

});

}

AJAX上传文件

服务端 dooo.php

[PHP] 纯文本查看 复制代码<?php

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

//获取原始文件名

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

//获取文件后缀名

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

//设置新文件名

$newfilename = MD5($filename);

// 允许上传的图片后缀

$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\":\"上传错误\"}]";

}

else

{

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

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

{

echo "[{\"res\":\"文件已存在\"}]";

}

else

{

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

echo "[{\"path\":\"$newfilename$hzm\",\"res\":\"ok\"}]";

}

}

}

else

{

echo "[{\"res\":\"格式不对\"}]";

}

?>

文件目录

55fd2b2273b5a8b4531f72773c469d6e.gif

4140012993-5d558e3c39b1a_articlex.png (2.72 KB, 下载次数: 1)

2019-11-16 11:38 上传

记得自己手动建立一个upload的文件夹用于存放上传的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值