PHP获取文件扩展名的常用方法小结【五种方式】


Posted in PHP onApril 27, 2018

本文实例总结了PHP获取文件扩展名的常用方法。分享给大家供大家参考,具体如下:

这是我应聘实习时遇到的一道笔试题:

使用五种以上方式获取一个文件的扩展名。

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,

必须使用PHP自带的处理函数进行处理,方法不能明显重复,可以封装成函数,比如 get_ext1($file_name), get_ext2($file_name)

下面是我参考网上资料总结出来的五种方法,都比较简单,话不多说,直接上代码:

方法1:

function getExt1($filename)
{
   $arr = explode('.',$filename);
   return array_pop($arr);;
}

方法2:

function getExt2($filename)
{
   $ext = strrchr($filename,'.');
   return $ext;
}

方法3:

function getExt3($filename)
{
   $pos = strrpos($filename, '.');
   $ext = substr($filename, $pos);
   return $ext;
}

方法4:

function getExt4($filename)
{
   $arr = pathinfo($filename);
   $ext = $arr['extension'];
   return $ext;
}

方法5:

function getExt5($filename)
{
   $str = strrev($filename);
   return strrev(strchr($str,'.',true));
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中usort在值相同时改变原始位置问题的解决方法
Nov 27 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
老生常谈PHP面向对象之解释器模式
May 17 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 PHP
PHP快速排序算法实现的原理及代码详解
Apr 03 PHP
Yii2.0框架模型多表关联查询示例
Jul 18 PHP
laravel框架的安装与路由实例分析
Oct 11 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
Apr 27 #PHP
php-fpm服务启动脚本的方法
Apr 27 #PHP
php-fpm添加service服务的例子
Apr 27 #PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
Apr 26 #PHP
PHP分享图片的生成方法
Apr 25 #PHP
PHP receiveMail实现收邮件功能
Apr 25 #PHP
laravel中短信发送验证码的实现方法
Apr 25 #PHP
You might like
咖啡语言
2021/03/03 咖啡文化
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
javascript cookie解码函数(兼容ff)
2008/03/17 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
JS表的模拟方法
2015/02/05 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
JS Canvas定时器模拟动态加载动画
2016/09/17 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
javaScript 连接打印机,打印小票的实例
2017/12/29 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
vue将data恢复到初始状态 && 重新渲染组件实例
2020/09/04 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
python实现下载整个ftp目录的方法
2017/01/17 Python
Python语言描述KNN算法与Kd树
2017/12/13 Python
修复 Django migration 时遇到的问题解决
2018/06/14 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
在Python中获取操作系统的进程信息
2019/08/27 Python
python学生信息管理系统实现代码
2019/12/17 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
Python绘图实现台风路径可视化代码实例
2020/10/23 Python
CSS3 flex布局之快速实现BorderLayout布局
2015/12/03 HTML / CSS
使用layui框架实现点击左侧导航切换右侧内容且右侧选项卡跟随变化的效果
2020/11/10 HTML / CSS
安全口号大全
2014/06/21 职场文书
导游欢送词
2015/01/31 职场文书
2015年采购部工作总结
2015/04/23 职场文书
无故旷工检讨书
2015/08/15 职场文书
golang日志包logger的用法详解
2021/05/05 Golang