首页 > 编程语言 >php+html5+ajax实现上传图片的方法

php+html5+ajax实现上传图片的方法

时间:2024-08-09 14:17:14浏览次数:15  
标签:function ajax fd html5 php append upfile

test.php

<?php
if (isset($_POST['upload'])) {
  var_dump($_FILES);
  move_uploaded_file($_FILES['upfile']['tmp_name'], 'up_tmp/'.time().'.dat');
  exit;
}
?>

html

<!doctype html>
<html lang="zh">
<head>
  <meta charset="utf-8">
  <title>HTML5 Ajax Uploader</title>
  <script src="jquery-2.1.1.min.js"></script>
</head>
<body>
<p><input type="file" id="upfile"></p>
<p><input type="button" id="upJS" value="用原生JS上传"></p>
<p><input type="button" id="upJQuery" value="用jQuery上传"></p>
<script>
  /*原生JS版*/
  document.getElementById("upJS").onclick = function() {
    /* FormData 是表单数据类 */
    var fd = new FormData();
    var ajax = new XMLHttpRequest();
    fd.append("upload", 1);
    /* 把文件添加到表单里 */
    fd.append("upfile", document.getElementById("upfile").files[0]);
    ajax.open("post", "test.php", true);
    ajax.onload = function () {
      console.log(ajax.responseText);
    };
    ajax.send(fd);
  }
  /* jQuery 版 */
  $('#upJQuery').on('click', function() {
    var fd = new FormData();
    fd.append("upload", 1);
    fd.append("upfile", $("#upfile").get(0).files[0]);
    $.ajax({
      url: "test.php",
      type: "POST",
      processData: false,
      contentType: false,
      data: fd,
      success: function(d) {
        console.log(d);
      }
    });
  });
</script>
</body>
</html>

标签:function,ajax,fd,html5,php,append,upfile
From: https://www.cnblogs.com/qcy-blog/p/18350671

相关文章

  • PHP提升页面加载速度的技巧:打造高效Web应用
    本文由ChatMoney团队出品1.代码优化1.1减少复杂性简化PHP代码可以显著提升执行速度。避免过多的嵌套循环和条件判断,尽量使用内置函数代替自定义函数,因为内置函数通常经过高度优化。1.2函数调用优化频繁的函数调用会产生额外的开销。可以尝试将一些常用函数的调用替换为......
  • 能够提升PHP页面加载速度的技巧
    本文由ChatMoney团队出品1.代码优化1.1减少复杂性简化PHP代码可以显著提升执行速度。避免过多的嵌套循环和条件判断,尽量使用内置函数代替自定义函数,因为内置函数通常经过高度优化。1.2函数调用优化频繁的函数调用会产生额外的开销。可以尝试将一些常用函数的调用替换为......
  • Thinkphp框架盲盒app源码搭建+付费进群源码交友合体设计开发
    本文将详细介绍盲盒App的源码设计与搭建过程,涵盖从需求分析、技术选型、环境准备到开发、测试、上线的全流程。源码:m.ymzan.top一、需求分析在搭建盲盒App之前,首先需要明确应用的核心需求。盲盒App的核心功能通常包括用户管理、商品管理、订单处理、支付系......
  • 探索ThinkPHP6中的消息队列机制:提升应用性能与扩展性的关键
    在现代Web开发中,随着业务规模的扩大和用户量的激增,系统面临的并发请求和数据处理压力也随之增加。为了应对这些挑战,提升应用的性能和可扩展性,消息队列(MessageQueue)作为一种高效的数据处理模式,逐渐被广泛采用。ThinkPHP6,作为PHP语言下的一个高性能、易扩展的轻量级框架,也提供了......
  • 如何使用ThinkPHP6进行消息队列集成
    在ThinkPHP6中进行消息队列的集成,主要涉及到选择合适的消息队列系统(如RabbitMQ、Kafka、Redis等),并通过相应的PHP客户端库或扩展来实现与ThinkPHP6的集成。以下是一个基于RabbitMQ和Redis的集成示例,展示如何在ThinkPHP6项目中设置和使用消息队列。1.选择消息队列系统首先,你需......
  • thinkphp6----where查询
    几种常见的where查询:1、关联数组查询$where=['user_id'=>1,'phone'=>'18311010011','is_delete'=>1];$result=Db::name('user_card')->where($where)->select();2、索引数组查询$where=[['id'......
  • nodejs语言,MySQL数据库;springboot的个性化资讯推荐系统66257(免费领源码)计算机毕业设计
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,个性化资讯推荐系统当然也不能排除在外。个性化资讯推荐系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用springboot技术构建的一个管理系统。整......
  • c#语言,SQL server数据库;基于Web的社区人员管理系统的设计与实现36303(免费领源码)计算机
    目 录摘要1绪论1.1慨述1.2课题意义1.3B/S体系结构介绍1.4ASP.NET框架介绍2 社区人员管理系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程52.2.3数据删除流程52.3系统功能分析62.3.1功能性分析62.3.2非功能性......
  • PHP+历史文化学习与交流网站-计算机毕设定制-附项目源码(可白嫖)50444
    目   录摘  要Abstract第1章  前  言1.1 研究背景1.2 研究现状1.3 系统开发目标第2章  系统开发环境2.1开发技术2.2 MVVM模式介绍2.3 MYSQL数据库2.4 B/S结构52.5 Thinkphp框架介绍5第3章  需求分析3.1 需求分析3.2......
  • 通过phpmyadmin拿webshell
    免责声明        文章所涉及内容,仅供安全研究与教学之用,由于传播、利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何法律及连带责任。前提知道root密码,phpmyadmin的root权限步骤设置mysql日志的路径和开关(需要高权......