html+jquery+php实现文件上传全过程

本文介绍了一个使用HTML、jQuery和PHP实现文件上传的例子。通过具体代码展示了如何获取上传文件的名称、大小及临时路径,并实现文件的移动存储。适用于初学者学习PHP文件上传的基本流程。

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

本例子采用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实现文件上传的过程。实际项目中可参考此处略作更改即可实现需求哦,你学会了吗?

转载于:https://www.cnblogs.com/sxgxiaoge/p/9173498.html

分片与并发结合 将一个大文件分割成多块 并发上传 极大地提高大文件的上传速度 当网络问题导致传输错误时 只需要重传出错分片 而不是整个文件 另外分片传输能够更加实时的跟踪上传进度 预览 压缩 支持常用图片格式jpg jpeg gif bmp png预览与压缩 节省网络数据传输 解析jpeg中的meta信息 对于各种orientation做了正确的处理 同时压缩后上传保留图片的所有原始meta数据 多途径添加文件 支持文件多选 类型过滤 拖拽 文件&文件夹 图片粘贴功能 粘贴功能主要体现在当有图片数据在剪切板中时(截屏工具如QQ Ctrl + ALT + A 网页中右击图片点击复制) Ctrl + V便可添加此图片文件 HTML5 & FLASH 兼容主流浏览器 接口一致 实现了两套运行时支持 用户无需关心内部用了什么内核 同时Flash部分没有做任何UI相关的工作 方便不关心flash的用户扩展和自定义业务需求 MD5秒传 当文件体积大 量比较多时 支持上传前做文件md5值验证 一致则可直接跳过 如果服务端与前端统一修改算法 取段md5 可大大提升验证性能 耗时在20ms左右 易扩展 可拆分 采用可拆分机制 将各个功能独立成了小组件 可自由搭配 采用AMD规范组织代码 清晰明了 方便高级玩家扩展 ">分片与并发结合 将一个大文件分割成多块 并发上传 极大地提高大文件的上传速度 当网络问题导致传输错误时 只需要重传出错分片 而不是整个文件 另外分片传输能够更加实时的跟踪上传进度 预览 压缩 支持常 [更多]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值