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

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • 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应用框架系统.0曾振中php mvc框架学习
  • php技术论坛有哪些?PHP开发人员:云计算概念有点言过其实不认同其所产生效益爬虫技术 php
  • 国内php框架PHP程序员及就业情况分析学计算机的可能接触过PHP国内主流php框架
  • 熟悉php开发框架PHP与web前端的区别(1)代码上的差异企业号 开发框架php
  • 开源博客系统php 漂亮建站开源网站程序使用最为广泛的就是国产内容和博客系统开源php erp系统
  • php开源系统报名系统教育直播系统源码中会有哪些坑?我们一个个的来说php开源网店系统
  • 微信公众平台提供的接口很简单,先看看消息交互流程(图)
  • 国产PHPView应用程序控制器(r)框架TP框架
  • php界面框架基于4.3+实现的高性能、高灵活性的PHP协程框架游戏ui界面框架设计实战精讲视频课程
  • 什么是网络编程?一句话来说,对网络协议的落地

相关

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

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

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

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

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

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

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

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

免费开源的轻量级 PHP 开发框架 ThinkPHP,遵循

从零开始开发完整网站:前端、后端与 Web 服务器的关键技术

php框架 Java 与 PHP 之争:为何懂技术的大佬选

BitDefender 发布超级工厂病毒专杀工具,可清除所有

asp语言与php语言的区别 前端和后端的区别,你真的了解吗

标签

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 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

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