php如何实现上传指定类型及指定大小的文件
时间:2016-08-23
在开发文件上传功能时,有时候因为某些特殊原因只允许上传指定类型的文件,比如只允许上传图片,或只允许上传pdf文件,或只能上传小于2M的文件等等,这时候我们就需要对上传文件的类型和大小作出判断,然后决定是否执行上传操作,PHP具体实现源代码如下。
下面的代码演示了php中如何获取用户上传的文件,并限制文件类型的一般图片文件,最后保存到服务器
HTML源码:
<html>
<head>
<title>Upload Form</title>
</head>
<body>
<form action="UploadSingle.php" method="post" enctype="multipart/form-data">
Upload a file: <input type="file" name="thefile"><br><br>
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
php上传并判断文件类型源码
<?php
$aErrors = "";
if ( !empty( $thefile_name ) ) // no file selected
{
$$thefile_type=$_FILES["file"]["type"];
if ( ( $thefile_type == "image/gif" ) ||
( $thefile_type == "image/pjpeg" ) ||
( $thefile_type == "image/jpeg" ) ){
if ( $thefile_size < ( 1024 * 100 ) ){
$aCurBasePath = dirname( $PATH_TRANSLATED );
$aNewName = $aCurBasePath . $thefile_name;
copy( $thefile, $aNewName );
} else {
$aErrors .= "超过最大上传文件限制";
}
} else {
$aErrors .= "文件不是图片";
}
} else{
$aErrors .= "没有选中任何文件上传";
}
?>
- 一次小折腾:PyCharm 调用 Cygwin Python 找不到 time、sys 等内置模块
- 网站数据统计分析之二:前端日志采集是与非
- Linux Shell 从入门到删除根目录跑路指南
- SSD Win8 系统盘 4K 无损对齐历险记
- 详解 MySQL 5.7 新的权限与安全问题
- Hive Lock 那些事儿
- Shell 黑科技之匿名函数实现任务并行化
- 文本编辑利器Notepad++ 10个强大而又鲜为人知的特性
- 记一次诡异的 ssh 互信免密码登录失败
- Linux下恶意文件大规模共性分析探讨
- 虚拟时钟
- 线上服务 CPU 100%?一键定位 so easy!
- 设置输出延迟
- 设置输入延时约束
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Docker 垃圾回收机制补充
- 5分钟学会经典排序算法-归并排序
- Python | 爬取农业农村部政策法规并绘制词云图
- 5分钟学会经典排序算法-希尔排序
- Stata | 爬取企业景气指数与企业家信心指数
- Stata | 发出提示音的几种方式
- docker垃圾回收机制
- 让运维更简单的7种定时任务实现方式
- Notes | Chrome 浏览器常用快捷键
- Python | 从 PDF 中提取文本内容
- Stata | 自动生成中南财大2019拟录取硕士研究生分析报告
- Stata | 聊聊数据排序的几种方式
- 在生产中应用广泛的排序算法
- SQL | SQL 必知必会笔记 (一 )
- 如何在树莓派4B上安装EMQ X Broker