文档章节

上传文件扩展名的判断

路飞的天空之城
 路飞的天空之城
发布于 2017/04/09 23:24
字数 264
阅读 12
收藏 0

// 后台代码如下

//直接截取图片文件后缀名

    //获取上传文件的文件名

    $name=$_FILES['uploaded']['name'];

    //获取文件名中最后一个点出现的位置

    $num=strrpos($name,'.');

    //获取后缀名

    $type=substr($name,$num+1);

    //将所有的图片后缀名放在一个数组中

    $arr=array('jpg','png','gif','jpeg','bmp');

    //判断后缀名是否是属于数组中的某一个后缀名

    $type=strtolower($type);

    if(!in_array($type,$arr)){

        die('文件的格式不合法');

    }

    // 创建一个文件夹保存文件

    $path='./upload';

    @mkdir($path);

    // 创建一个文件名

    $fileName=date('YmdHis').'.'.$type;

    // 将文件从临时文件夹移动到目标文件夹

    move_uploaded_file($_FILES['uploaded']['tmp_name'],$path.'/'.$fileName);

 

//mime判断

//获取真实的文件类型

$fs=finfo_open(FILEINFO_MIME_TYPE);

$type=finfo_file($fs,$_FILE['upload']['tmp_name']);

//将合法分文件类型放置在一个数组中

$arr=array('image/jpeg','image/gif','image/png');

if(in_array($type,$arr)){

echo '文件上传的格式合法';

}else{

echo '文件上传的格式不合法';

}

 

 

© 著作权归作者所有

共有 人打赏支持
路飞的天空之城
粉丝 0
博文 4
码字总数 2915
作品 0
浦东
程序员
通过HtmlInputFile控件上传文件的类

using System; using System.Web.UI.HtmlControls; using System.IO; namespace Document.Bll { public class HtmlInputFileControl { HtmlInputFileControl#region HtmlInputFileControl pu......

晨曦之光
2012/03/09
67
0
Java 读取图片文件的类型(MimeType)

一、问题描述 在项目开发的时候,我们经常会遇到一类文件上传的问题,就是获取图片是哪种格式。很多情况下,很多人都是用后缀名去判断,如下所示。 但是这种方式相当不可靠,我们可以尝试将z...

IamOkay
01/21
0
2
文件上传漏洞及解析漏洞总结

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务...

wt7315
2016/10/25
0
0
从IIS网站上下载AssetBundle,并写入到本地磁盘指定路径

啊,长叹一声,弄了一晚上,加半个白天 先说说历程吧,主要是踩的坑。 首先打包就不用说了。有.asseetbundle的,有.u3d的,还有就是生成md5列表 然后下载并保存就恶心了。 本来想的很好,思路...

lreach
06/29
0
0
asp.net如何正确判断上传文件格式

ASP.NET中在判断文件格式时,如果通过截取扩展名来做判断、通过ContentType (MIME) 判断都不太安全,因为这两种方式用户都可以伪造。 下面介绍通过byte获取文件类型,来做判断的方式 if (Re...

学习也休闲
2015/09/18
56
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java工程师用spring boot和web3j构建以太坊区块链应用

区块链最近IT世界的流行语之一。这项有关数字加密货币的技术,并与比特币一起构成了这个热门的流行趋势。它是去中心化的,不可变的分块数据结构,这是可以安全连接和使用的密码算法。在这种结...

笔阁
8分钟前
1
0
聊聊sentinel的SentinelWebAutoConfiguration

序 本文主要研究一下sentinel的SentinelWebAutoConfiguration SentinelWebAutoConfiguration spring-cloud-alibaba-sentinel-autoconfigure-0.2.0.BUILD-SNAPSHOT-sources.jar!/org/springf......

go4it
10分钟前
0
0
java ArrayList 根据对象内的属性排序

//根据修改时间排序Comparator com = new Comparator<ReleaseInfo>() {public int compare(ReleaseInfo reInfo1, ReleaseInfo reInfo2) { //return reInfo2.getModifyTime().c......

成长中的小白
10分钟前
0
0
PowerDesigner p f m

(非原创) P:PirmaryKey 主键 F:ForeignKey 外键 M:Mandatory 强制要求(不能为空) 主键: 主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从...

森火
10分钟前
0
0
Nexus Repository Manager 搭建私有docker仓库

Nexus Repository Manager 搭建私有docker仓库 2018年05月08日 14:44:23 阅读数:115 1.下载nexus3的镜像: docker pull sonatype/nexus3 2.使用镜像启动一个容器: docker run -d --name n...

linjin200
11分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部