宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > php文件上传代码标配的一个扩展了,为什么呢?(一)_php文件域上传

php文件上传代码标配的一个扩展了,为什么呢?(一)_php文件域上传

2022-05-02

今天来学习的扩展,其实是标准扩展php文件上传代码,为什么呢?因为框架在安装的时候是必要的扩展,如果不开启,连框架都无法使用。

简介

是通过给定的字节序列库获取文件的内容类型和编码。它获取的序列库是根据操作系统确定的。例如网站优化,系统默认使用文件/usr//misc/。其实我们可以通过这个扩展函数来获取文件的MIME信息,就像我们常见的/png和text/html内容一样。

此扩展同时兼容新旧开发模式,因此提供了面向过程和面向对象两种形式。下面我们来看看面向对象的表单是如何使用的。

面向对象的使用

$finfo = new finfo(FILEINFO_MIME);
echo $finfo->file("./1.PHP中的日期相关函数(三).php"), PHP_EOL;
// text/x-php; charset=us-ascii
echo $finfo->buffer(file_get_contents("https://www.baidu.com")) . "\n";
// text/html; charset=utf-8
$finfo->set_flags(FILEINFO_EXTENSION);
echo $finfo->file('timg.jpeg') . "\n";
// jpeg/jpg/jpe/jfif

首先,我们通过一个新的类来获取文件操作对象。参数中的常量是可选的。默认情况下,表示没有特殊处理。这里我们用它来表示文件的mime类型和编码。

然后使用file()方法获取指定文件的mime信息。 () 方法返回字符串内容的信息。例如,如果我们获取一个网页信息的内容,我们可以得到它的字符串表示的文件编码格式为 text/hmtl 。 () 方法是在实例化对象后修改其构造参数属性,也就是我们实例化时设置的参数信息,这里我们修改为 ,即让对象返回文件可能的扩展名。我们使用图片进行了测试,返回的可能扩展名包括评论中显示的扩展名。

面向过程

对于上面的面向对象代码,让我们也展示一下使用面向过程的函数如何进行相同的操作。

$finfo = finfo_open(FILEINFO_MIME);
echo finfo_file($finfo,"./1.PHP中的日期相关函数(三).php"), PHP_EOL;
// text/x-php; charset=us-ascii
echo finfo_buffer($finfo, file_get_contents("https://www.baidu.com")), PHP_EOL;
// text/html; charset=utf-8
finfo_set_flags($finfo, FILEINFO_EXTENSION);
echo finfo_file($finfo, 'timg.jpeg') . "\n";
// jpeg/jpg/jpe/jfif
finfo_close($finfo);

可以看出,这里是用()方法替换对象,获取操作句柄。然后使用类似的 () , () , () 函数进行操作,达到的效果和上面面向对象的结果是一样的。

需要注意的是,面向过程的写法有一个()方法。一般对句柄类型的操作都有一个关闭函数来释放句柄资源。就像一个扩展一样,它也包含这样一个功能,并且只为过程提供这个功能。上面的类中没有这样的()方法。

快速返回 mime

当然,扩展也为我们提供了一个快速返回文件mime信息的功能。我们可以在不使用对象或打开句柄的情况下快速轻松地获取文件的mime信息。

echo mime_content_type('./1.PHP中的日期相关函数(三).php'), PHP_EOL;
// text/x-php
echo mime_content_type('./timg.jpeg'), PHP_EOL;
// image/jpeg

不过PHP官方好像已经弃用了这个功能,不过现在已经恢复了,也就是说不特别推荐使用这个功能。在正式的开发过程中,大家不要太麻烦。使用对象或相关函数获取mime信息更可靠。

如果我们确定要判断的文件只是图片类型,那么我们也可以使用另外一个函数来获取图片文件的mime。

总结

很简单但是很有用的功能php文件上传代码,为什么有用呢?上传文件的安全问题可以通过它解决。我们在上传文件时,通常会在上传数组中判断文件的扩展名和文件的MIME类型。但是很多工具可以在上传过程中修改文件的MIME类型,即通过一些抓包工具修改-Type。但是通过扩展获取的文件必须是本地或远程存在的,也就是说不会出现上传过程中修改传输信息导致的安全检查绕过问题。

因此网站制作,在框架中, ///src///.php 类中的() 方法使用() 函数来获取文件的mime 信息。在其上传组件中,在底层框架中,对上传文件的MIME判断也是使用()函数,(//mime/ser.php)没有直接使用正常上传的$type字段。

测试代码:

学习在 PHP.php 中使用扩展

参考文件:

Tag: php mime
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • 微信公众号开发 php微信公众号开发,开发什么?备忘。。php微信公众号开发教程
  • 四种主流PHP框架的优缺点概述
  • 最近流行彩字,下面是简单的实现方法:图像$im=
  • 基于PHP的网站设计及项目专业班级网络系统管理10级
  • php框架排名2018年最好的PHP框架是怎样的?(上)php开发框架
  • 做软件开发的基本步骤和布局方法,你知道吗?
  • PHP开发框架一览表:表示框架是否内建Ajax支持
  • 教你制作一张编程语言的关系网络图(一)_
  • 微信公众号开发 phpPHP微信公众号开发的两种模式,感兴趣的小伙伴们微信公众平台开发教程php
  • 微信公众平台php开发哪里有人哪里就有商业,哪里有盈利空间?(图)微信公众平台开发接口php sdk

相关

PHP IDEs与PHP CLI工具:助力高效PHP开发,满

PHP IDEs与PHP CLI工具:助力高效PHP开发,满

什么是PHP?其优势有简单易学、安全性高、开发效率高及社区活

什么是PHP?其优势有简单易学、安全性高、开发效率高及社区活

深入学习PHP编程基础与高级技术,掌握数字时代开发技能

PHP中七个常用框架介绍,详细解读ThinkPHP及其他框架

Science Technology:PHP开发平台发展历程

Science Technology:PHP开发平台发展历程

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

如何查看php版本?多种方法助你快速知晓

如何查看php版本?多种方法助你快速知晓

PHP格式化:提升代码质量与协作效率的关键规则

如何查看虚拟主机上的 PHP 版本?这篇文章告诉你

Linux 系统管理员和 web 开发者必知:如何查看 PH

Linux 系统管理员和 web 开发者必知:如何查看 PH

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2026 2024 请输入关健词 货源 货货源 虚拟 禅道
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们