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

最新文章

  1. 异步Socket 客户端部分
  2. 转载:《TypeScript 中文入门教程》 16、Symbols
  3. Linux 中 Nginx 重启关闭
  4. C/C++构建系统 -工具汇总
  5. MFC中使用Duilib--2
  6. duilib入门之贴图描述、类html文本描述、动态换肤、Dll插件、资源打包
  7. DOM_节点层次
  8. React Native:使用 JavaScript 构建原生应用 详细剖析
  9. Flex 动画效果
  10. java 获取当期时间之前几小时的时间
  11. _beginThreadex创建多线程解读
  12. PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]
  13. Hadoop和MapReduce初识
  14. python-02 数据类型、字符编码、文件处理
  15. LabVIEW中开放隐藏属性的inikey
  16. WebApi 序列化 循环引用问题
  17. J-query extend()方法
  18. SQLSERVER 备份数据库的注意事项
  19. Django之转发和重定向
  20. 第三篇 功能实现(1) (Android学习笔记)

热门文章

  1. Es学习第八课, Filter、bool和范围查询
  2. Restful风格接口浅析
  3. JavaWeb(六):会话与状态管理
  4. 【leetcode】1013. Pairs of Songs With Total Durations Divisible by 60
  5. Vue-Cli 安装使用 moment.js
  6. ceph优化记录 ceph.conf优化详解
  7. LDD快速参考
  8. SDUT 1266 出栈序列统计(卡特兰数)
  9. html 的一些基础操作
  10. java 节点流(字符流,字节流)和包装流(缓冲流,转换流)