php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)

首先需要明确的是,文件上传是网站开发中常用的功能之一,但是需要注意上传文件的类型和格式,避免网站被恶意攻击者利用漏洞来上传危险文件。

为了方便开发者识别文件类型和合法上传文件格式,一些固定的后缀名和文件类型对照表已经被制定和广泛使用。其中,php文件上传后缀名与文件类型对照表汇总了大部分常用的文件类型和对应的后缀名,可以供开发者参考。

下面来介绍如何使用该对照表。首先要明确如何获取上传文件的格式信息。在PHP中,可以通过$_FILES全局变量中的type属性获取文件的MIME类型信息。这个MIME类型与文件后缀名是对应的,通过对照表,就可以得到这个文件的合法后缀名,并进行验证。

示例一:检查图片上传格式

前端界面可能提供了一个上传图片的功能,我们需要检查上传图片的格式是否正确。假设前端提交的表单中包含一个文件输入框和一个提交按钮,可以通过以下代码对上传的图片格式进行验证:

//获取上传文件的MIME类型
$mime = $_FILES['image']['type'];
//定义合法的文件格式
$allowed = [
    'jpg' => 'image/jpeg',
    'png' => 'image/png',
    'gif' => 'image/gif',
];
//根据MIME类型获取后缀名
$ext = array_search($mime, $allowed);
//判断是否为合法文件格式
if ($ext === false) {
    echo "上传图片格式不合法";
} else {
    //进行其他操作,比如保存上传的图片
}

在上述代码中,首先获取上传的文件的MIME类型,然后定义了一个包含合法文件格式和对应MIME类型的数组。接着根据获取到的MIME类型查找对照表,获取对应的合法后缀名。最后,判断获取到的后缀名是否在合法文件格式数组中,如果是,就可以进行其他操作,否则提示错误信息。

示例二:禁止上传危险文件

假设在系统中,管理员可以上传一些配置文件,但是存在一些危险的文件类型必须禁止上传,比如PHP脚本文件,在这种情况下,可以使用对照表禁止上传危险文件。

//获取上传文件的MIME类型
$mime = $_FILES['config']['type'];
//定义不允许上传的文件格式
$denied = [
    'php' => 'application/x-php',
    'aspx' => 'application/octet-stream'
];
//根据MIME类型获取后缀名
$ext = array_search($mime, $denied);
//判断是否为危险的文件格式
if ($ext !== false) {
    echo "上传危险文件";
} else {
    //进行其他操作,比如保存上传的配置文件
}

在上述代码中,$denied数组定义了不允许上传的危险文件格式和对应的MIME类型,如果上传的文件类型在数组中被定义了,则提示上传危险文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件) - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • php url路由入门实例

    我来为你详细讲解“php url路由入门实例”的完整攻略。 1. 什么是URL路由? URL路由,即URL的地址规则。在Web开发中,会根据不同的URL地址,来执行不同的功能。这种将URL地址映射到相应的程序处理逻辑上的处理过程,就被称为URL路由。 2. URL路由的实现方式 URL路由的实现方式主要有两种:基于Rewrite规则和基于PHP的入口脚本。 …

    PHP 2023年5月27日
    00
  • php运行出现Call to undefined function curl_init()的解决方法

    问题描述:在PHP代码中使用curl函数时,出现“Call to undefined function curl_init()”错误提示。这个错误提示表示PHP环境中未安装curl扩展。 解决方法:解决这个问题需要在服务器上安装curl扩展并开启。 以下是详细的安装和开启步骤: 安装curl扩展 方法一:使用命令行安装(建议使用包管理器安装) sudo ap…

    PHP 2023年5月27日
    00
  • php调用c接口无错版介绍

    首先我们来讲解一下“PHP调用C接口无错版介绍”这个主题涉及到的一些基础概念: 1. 什么是C语言接口 C语言接口是一种允许多个程序间通讯和交换数据的机制,常用于C语言和其他编程语言之间的通讯。通过定义一组函数或数据结构,并保证其符合一定的规范,就可以在不同的编程语言中实现互操作性。 在本文中,我们主要关注PHP和C语言之间的接口。 2. 如何实现PHP调用…

    PHP 2023年5月27日
    00
  • PHP7.1实现的AES与RSA加密操作示例

    PHP7.1实现的AES与RSA加密操作示例 本文主要讲解如何在PHP7.1环境下使用AES与RSA加密算法进行数据加密。在实现过程中,本文会提供两个示例,一个是使用AES加密算法加密数据的示例,另一个是使用RSA加密算法加密数据的示例。 AES加密算法 AES加密算法是一种对称加密算法,是目前应用最广泛的加密算法之一,具有高度的安全性和可靠性。以下是使用P…

    PHP 2023年5月26日
    00
  • PHP中rename()函数的妙用讲解

    首先,我们来简单介绍一下rename()函数——它是PHP中的一个文件操作函数,用于重命名文件或将文件移动到另一个目录中。接下来,我们将详细讲解rename()函数的妙用,包括两个示例。 一、rename()函数的基本使用 rename()函数的语法如下: rename($oldname, $newname); 其中,$oldname表示旧文件名,$newn…

    PHP 2023年5月26日
    00
  • PHP 遍历文件实现代码

    下面是关于PHP遍历文件实现代码的完整攻略。 1. 使用 PHP 遍历文件的基本思路 PHP遍历文件通常使用scandir函数或opendir函数实现。 scandir函数可以列出指定目录下的所有文件和子目录,并将结果保存到数组中。这个函数更容易使用,但返回结果包含”.”和”..”两个特殊目录,需要特别注意。 opendir函数需要手动打开目录句柄,然后使用…

    PHP 2023年5月27日
    00
  • PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)

    PhpStorm的使用教程(本地运行PHP+远程开发+快捷键) 什么是PhpStorm PhpStorm是一款强大的PHP IDE,它提供了丰富的编辑器功能、代码自动完成、错误检测和调试功能等,能够极大提高PHP开发的效率和质量。 安装PhpStorm 在官网下载最新的PhpStorm安装包,解压后运行安装程序,根据提示完成安装。 本地运行PHP 使用XAM…

    PHP 2023年5月24日
    00
  • 微信小程序JSON配置文件详细讲解作用

    下面就为大家讲解一下微信小程序JSON配置文件的详细讲解。 什么是微信小程序JSON配置文件 小程序开发者可以通过 JSON 文件提供小程序的一些基本信息,如:名称、版本号、界面样式等等。JSON 文件是一种轻量级的数据交换格式,非常适合在客户端与服务器之间传输数据。 在微信小程序开发中,JSON 文件也被用作对小程序的配置进行管理。 JSON 配置文件的作…

    PHP 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部