程序运行截图如下:

选择文件然后点击提交后:

目录下也有了:

源码如下:

index.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>文件上传</title>
</head>
<body><form action="uploadFile.php" method="post" enctype="multipart/form-data"><label for="file">文件名: </label><input type="file" name="file" id="file"><br><input type="submit" value="提交"></form>
</body>
</html>

uploadFile.php

<?php$allowed = array("gif", "png", "jpg");$temp = explode(".", $_FILES["file"]["name"]);$extension = end($temp);echo $_FILES["file"]["size"];if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/jpg")|| ($_FILES["file"]["type"] == "image/pjpeg")|| ($_FILES["file"]["type"] == "image/x-png")|| ($_FILES["file"]["type"] == "image/png"))&& ($_FILES["file"]["size"] < 2048000)&& in_array($extension, $allowed)){if($_FILES["file"]["error"] > 0){echo "错误 : " . $_FILES["file"]["error"] . "<br>";header("Refresh:3;url=index.html");}echo "上传的文件名: " . $_FILES["file"]["name"] . "<br>";echo "文件类型: " . $_FILES["file"]["type"] . "<br>";echo "文件大小: " . $_FILES["file"]["size"] . "<br>";echo "文件临时存放位置:" . $_FILES["file"]["tmp_name"] . "<br>";if(file_exists("upload" . $_FILES["file"]["name"])){echo $_FILES["file"]["name"] . "文件已经存在。";}else{move_uploaded_file($_FILES["file"]["tmp_name"], __DIR__ . "\\upload\\" . $_FILES["file"]["name"]);echo "文件存储在: " . __FILE__ . "\\upload\\" . $_FILES["file"]["name"];}}else{header("Refresh:3;url=index.html");}
?>

需要注意的地方:

①$_FILES

从中可以知道,他是一个全局的变量,与快要被废弃的$HTTP_POST_FILES功能一样。在使用post方法上传文件时常用。

②move_uploaded_file

从中可以知道,这个函数的功能是把上传的文件拷贝到本地,第一个参数是上传的文件,第二个参数是要移动到拿。返回值是个bool类型,如果第一个参数是无效的文件名,函数将返回false,并且不会生效,还会打印warning。

③__DIR__

从中可知,这个宏是获取当前文件的目录这个宏等同于dirname(__FILE__)

PHP笔记-文件上传例子相关推荐

  1. node.js学习笔记 - 文件上传(并用七牛云托管)

    文章目录 环境搭建 准备工作 安装相关依赖 代码实现 执行 环境搭建 准备工作 提示:本文采用ts来构建环境,要是以js构建则取掉类型定义即可. 初始化项目 创建目录fileUpload-demo- ...

  2. JSP笔记-文件上传

    JSP(全称JavaServer Pages)是由Sun Microsystems公司主导创建的一种动态网页技术标准.JSP部署于网络服务器上,可以响应客户端发送的请求,并根据请求内容动态地生成HTM ...

  3. 网络安全笔记--文件上传1(文件上传基础、常见后端验证、黑名单、白名单、后端绕过方式)

    1. 基础 1.1 初识文件上传漏洞 文件上传漏洞是一种非常严重的漏洞,如果Web没有对用户上传的文件进行有效地过滤,若有不法分子上传恶意脚本,就有可能获取执行服务端命令的能力,严重影响服务器安全. ...

  4. PHP学习笔记——文件上传

    文章目录 创建一个文件上传表单 创建上传脚本 上传限制 保存被上传的文件 MIME 类型 按照内容类型排列的 Mime 类型列表 按照文件扩展名排列的 Mime 类型列表 创建一个文件上传表单 < ...

  5. php实现上传,PHP实现文件上传例子

    实例1: 上载文件表单网页:updatefile.htm 上载文件表单 请选取文件: [Ctrl+A 全部选择 然后拷贝] 处理上载文件网页:updatefile.php3 处理上载文件 copy($ ...

  6. asp.net学习笔记·文件上传

    简单上传 未做安全保护 if (FileUpload1.HasFile){string strUpLoadPath = Server.MapPath("~/Images/");Te ...

  7. 文件上传漏洞——DVWA练习

    前言:文件上传漏洞是很常见的漏洞,也非常有趣,接下来就在DVWA靶场中边学边练. 文件上传漏洞: 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向 ...

  8. Spring mvc,uploadifive 文件上传实践(转自:https://segmentfault.com/a/1190000004503262)

     1.前台页面: 引入js和css 全选复制放进笔记 <link type="text/css" rel="stylesheet" href=&quo ...

  9. php中file对象实例,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax - phpStudy...

    File, FileReader 和 Ajax 文件上传实例分析(php) File FileReader 可以干什么?Ajax文件上传例子 FileReader 对象可以读取文件的 Base64编码 ...

最新文章

  1. cocos2d-x 3.0游戏实例学习笔记 《跑酷》 第五步--button控制主角Jumpamp;Crouch
  2. java scheduletask_spring中定时任务taskScheduler的详细介绍
  3. 【Flink】Flink 基于 MailBox 实现的 StreamTask 线程模型
  4. 模拟按键——在Python使用pynput库
  5. 1.6 万亿参数你怕了吗?谷歌大脑语言模型速度是 T5 速度的 7 倍
  6. 基于MicroPython:TPYBoard心率监测器
  7. Linux下如何查看高CPU占用率线程 专题
  8. 如何通过iPad云编译C语言,在iOS(iphone、ipad)上编辑、编译和运行c/c++(包括iPhone6和iOS8)...
  9. 使用getopt函数对命令行短形参进行处理
  10. MySql练习题大全(带答案)-练习完啥都会了
  11. Oracle学习III —— Oracle客户端工具
  12. Origin画甘特图-II
  13. 2018大华软件大赛模拟赛第2题 (网络上有一台流媒体服务器S和一台客户端C,S向C发送流媒体数据。)...
  14. Typora 段落如何快速首行缩进两个字符
  15. android电视播放器字幕,android播放视频显示字幕
  16. 海底电缆变为“地震仪”
  17. linux查找模糊文件位置,linux模糊查找文件用什么命令比较好
  18. 谁说手工测试不香了?25k不比二流的开发美滋滋
  19. Creator3D:shader13_水面涟漪
  20. K-Means(K均值)、GMM(高斯混合模型),通俗易懂,先收藏了!

热门文章

  1. C#如何反射出委托的签名,如何使用反射调用委托
  2. C#获取文件夹及文件的大小与占用空间的方法
  3. RAC crs_stat unknown资源状态处理
  4. 让皮肤美白细致的七大DIY - 生活至上,美容至尚!
  5. 昇兴集团:搭建帆软报表系统,打破数据孤岛,工作效率提升5倍
  6. 一文读懂数据分析必备思维:框架思维
  7. 今天的一条条平坦的即时通讯
  8. 盖茨依然坐镇微软搜索团队 要与谷歌争高下
  9. 全球IT公司100强排行榜出炉
  10. 歪批IT系列之“伪热门”人才