php+ajax实现异步上传文件或图片功能

发布时间 - 2026-01-11 02:23:58    点击率:

本文为大家分享了ajax异步上传文件或图片功能的具体代码,供大家参考,具体内容如下

//html代码

<form enctype="multipart/form-data" id="upForm">
 <input type="file" name="file" ><br><br>
 <input type="button" value="提交">
</form>
<div class="picDis">
 <img src="" alt="">
</div>


//js代码

(':button').click(function(event) {
  //formdata储存异步上传数据
 var formData = new FormData($('form')[0]);
 formData.append('file',$(':file')[0].files[0]);
 //坑点: 无论怎么传数据,console.log(formData)都会显示为空,但其实值是存在的,f12查看Net tab可以看到数据被上传了
 $.ajax({
  url:'formtest.php',
  type: 'POST',
  data: formData,
  //这两个设置项必填
  contentType: false,
  processData: false,
  success:function(data){
  console.log(data)
  var srcPath = data;
  console.log();
     //注意这里的路径要根据自己的储存文件的路径设置
  $('.picDis img').attr('src', '..'+srcPath);
  }
 })
 });

php:

<?php 

$upFile = $_FILES['file'];

/**
* 创建文件夹函数,用于创建保存文件的文件夹
* @param str $dirPath 文件夹名称
* @return str $dirPath 文件夹名称
*/
function creaDir($dirPath){
 $curPath = dirname(__FILE__);
 $path = $curPath.'\\'.$dirPath;
 if (is_dir($path) || mkdir($path,0777,true)) {
  return $dirPath;
 }
}

//判断文件是否为空或者出错
if ($upFile['error']==0 && !empty($upFile)) {
 $dirpath = creaDir('upload');
 $filename = $_FILES['file']['name'];
 $queryPath = './'.$dirpath.'/'.$filename;
 //move_uploaded_file将浏览器缓存file转移到服务器文件夹
 if(move_uploaded_file($_FILES['file']['tmp_name'],$queryPath)){
  echo $queryPath;
 }
}

 ?>

点击上传图片并发送后, 可以看到页面上显示出图片, 查看本地文件夹可以看到文件也已储存到服务器.

在客户端实现异步上传的关键在于FormData,关于这部分这里有详细介绍: FormData()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ajax异步上传文件  # ajax异步上传图片  # ajax异步上传  # 基于Spring Boot利用 ajax实现上传图片功能  # JavaScript实现图片上传并预览并提交ajax  # jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】  # PHP结合jquery ajax实现上传多张图片  # 并限制图片大小操作示例  # thinkPHP利用ajax异步上传图片并显示、删除的示例  # Ajax实现图片上传并预览功能  # ajax实现上传图片保存到后台并读取的实例  # php+ajax+h5实现图片上传功能  # 基于ajax实现上传图片代码示例解析  # 可以看到  # 为空  # 自己的  # 上传  # 这两个  # 这部  # 详细介绍  # 大家分享  # 也已  # 传了  # 关键在于  # 上传图片  # 必填  # 具体内容  # 大家多多  # 上传文件  # 客户端  # 保存文件  # 转移到  # src 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速选择适合个人网站的云服务器配置?  如何快速上传自定义模板至建站之星?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  javascript基本数据类型及类型检测常用方法小结  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  网页设计与网站制作内容,怎样注册网站?  java获取注册ip实例  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  如何快速生成专业多端适配建站电话?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  微信小程序 五星评分(包括半颗星评分)实例代码  手机网站制作与建设方案,手机网站如何建设?  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何为不同团队 ID 动态生成多个独立按钮  Linux系统命令中tree命令详解  Bootstrap整体框架之CSS12栅格系统  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  黑客如何利用漏洞与弱口令入侵网站服务器?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  青岛网站建设如何选择本地服务器?  javascript日期怎么处理_如何格式化输出  bootstrap日历插件datetimepicker使用方法  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何使用模型观察者?(Observer代码示例)  如何自定义建站之星网站的导航菜单样式?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  装修招标网站设计制作流程,装修招标流程?  如何用搬瓦工VPS快速搭建个人网站?  再谈Python中的字符串与字符编码(推荐)  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  网易LOFTER官网链接 老福特网页版登录地址  javascript如何操作浏览器历史记录_怎样实现无刷新导航  个人摄影网站制作流程,摄影爱好者都去什么网站?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  微信小程序 canvas开发实例及注意事项  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?