本例子采用html+jquery+php实现上传功能

html部分

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<!--上传文件:-->
<input type="file" name="mypic" />
<input type="submit" value="上传" id="submit"/>
</form>
</body>
</html>

js(jquery部分代码)

    <script src="jquery-1.9.1.min.js"></script>
<script>
$("#submit").click(function(){
$.ajax({
url:"upload.php",
type:"POST",
dataType:"json",
success:function(data){
console.log(data);
}
})
})
</script>

php->upload.php部分代码

<?php
//功能:完成上传图片
//php中有一个数组 $_FILES 保存当前上传文件所有信息
//1:获取上传文件名称
$picname = $_FILES["mypic"]["name"];
//2:获取上传文件大小
$picsize = $_FILES["mypic"]["size"]/1000;
if($picsize>6000){
echo '{"code":-1,"msg":"图片大小不能超过2MB"}';
exit;
}
//3:获取上传文件临时目录
$pictmp = $_FILES["mypic"]["tmp_name"];
//echo "<br/>";
//echo $pictmp;
//4:创建新图片名称
//4.1:获取原有文件名后缀 .jpg .gif .png
$type = strstr($picname,".");
//4.2:创建新名称 时间戳.随机数
$fileName = time().rand(1,9999).$type; //4.3:移动文件(从上传临时文件->移动->uploads/)
//a:创建变量保存临时文件名
$src = $_FILES["mypic"]["tmp_name"];
//b:创建变量保存新目录名称
$des = "uploads/".$fileName;
//c:移动
//echo $des;
$rs = move_uploaded_file($src,$des);
if($rs){
echo '{"code":1,"msg":"图片上传成功"}';
}else{
echo '{"code":-1,"msg":"图片上传失败"}';
} //10:40--10:42
echo $picname;

需要注意的是 在php部分存储的文件为uploads,因此 需要新建个uploads的文件夹,用来存储本地上传的文件。

进行完以上步骤后,就可以进行测试了。 lz此处用的xampp本地测试。

上传成功后会显示。此时在uploads文件下为多出来一个您刚刚上传的文件。

以上就是php+web实现文件上传的过程。实际项目中可参考此处略作更改即可实现需求哦,你学会了吗?

html+jquery+php实现文件上传全过程的更多相关文章

  1. 转: 如何实现jQuery的Ajax文件上传

    [PHP文件上传] 在开始之前,我觉得是有必要把通WEB上传文件的原理简单说一下的.实际上,在这里不管是PHP,JSP,还是ASP处理上传的文件,其实都是WEB早已把文件上传到服务器了,我们只是运用上 ...

  2. jQuery插件AjaxFileUpload文件上传实现Javascript多文件上传功能

     Ajax file upload plugin是一个功能强大的文件上传jQuery插件,可自定义链接.或其它元素庖代传统的file表单上传结果,可实现Ajax动态提示文件上传 过程,同时支撑多文 ...

  3. jquery组件WebUploader文件上传用法详解

    这篇文章主要为大家详细介绍了jquery组件WebUploader文件上传用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 WebUploader是由Baidu WebFE(FEX)团队开发的一 ...

  4. Javascript Fromdata 与jQuery 实现Ajax文件上传以及文件的删除

    前端HTML代码: <!DOCTYPE html> <html> <head> <title>ajax</title> <script ...

  5. Javascript Fromdata 与jQuery 实现Ajax文件上传

    <!DOCTYPE html> <html> <head> <title>ajax</title> <script type=&quo ...

  6. js 使用jquery.form.js文件上传

    1.文件上传,使用jquery.form.js插件库 <!DOCTYPE html> <html> <head> <meta charset="UT ...

  7. jquery+springMVC实现文件上传

    此文章是基于 搭建Jquery+SpringMVC+Spring+Hibernate+MySQL平台 一. jar包介绍 1. commons-fileupload-1.3.1.jar 二. 相关程序 ...

  8. jQuery File Upload 文件上传插件使用一 (最小安装 基本版)

    jQuery File Upload 是一款非常强大的文件上传处理插件,支持多文件上传,拖拽上传,进度条,文件验证及图片音视频预览,跨域上传等等. 可以说你能想到的功能它都有.你没想到的功能它也有.. ...

  9. jQuery File Upload文件上传插件简单使用

    前言 开发过程中有时候需要用户在前段上传图片信息,我们通常可以使用form标签设置enctype=”multipart/form-data” 属性上传图片,当我们点击submit按钮的时候,图片信息就 ...

随机推荐

  1. 1.WCF学习--创建简单的WCF服务

    一.基本了解WCF 1.面向服务代表的是一种设计理念,和面向对象.面向组件一样,体现的是一种对关注点进行分解的思想,面向服务是和技术无关的 2.WCF需要依存一个运行着的宿主进程,服务寄宿就是为服务指 ...

  2. node-解压版 安装配置测试

    一.下载node压缩包   地址:https://nodejs.org/en/download/ 二.解压下载的压缩包,在文件根目录新增两个文件夹: node_cache:缓存文件位置 node_gl ...

  3. POJ 3348 Cows (凸包模板+凸包面积)

    Description Your friend to the south is interested in building fences and turning plowshares into sw ...

  4. kafka-consumer.properties

    # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreement ...

  5. delphi中如何将一整个文件读入内存

    来源 https://bbs.csdn.net/topics/390985048 分配一块大内存吧,要是一下申请不了64M那么大,就多申请几块小的,用个链表连起来.用FileStream类的方法读取文 ...

  6. 汉诺塔IX

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=76447#problem/E 汉诺塔IX Time Limit:1000MS     Me ...

  7. java并发编程笔记(九)——多线程并发最佳实践

    java并发编程笔记(九)--多线程并发最佳实践 使用本地变量 使用不可变类 最小化锁的作用域范围 使用线程池Executor,而不是直接new Thread执行 宁可使用同步也不要使用线程的wait ...

  8. mysql 查询所有表以及对应的信息

    https://www.cnblogs.com/ssslinppp/p/6178636.html use information_schema;selectengine,table_name,tabl ...

  9. Flask Session ,pymysql ,wtforms组件 虚拟virtualenv venv

    https://www.cnblogs.com/wupeiqi/articles/5713330.html session def create_app(): print() app=Flask(__ ...

  10. VS2017/VS2019 git Authentication failed for "XXXXXXXXXx"

    解决办法: 控制面板,凭证管理==>删掉 对应代码仓库地址的凭证.删掉,是删掉.因为我更新了还是没有用.