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&&mysql)三
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
php date()日期时间函数详解
May 16 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
Apr 26 PHP
PHP实现的MongoDB数据库操作类分享
May 12 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
Jan 27 PHP
PHP-FPM实现性能优化
Mar 31 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
Jul 01 PHP
php用户密码加密算法分析【Discuz加密算法】
Oct 12 PHP
Yii2框架类自动加载机制实例分析
May 02 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP新手上路(十)
2006/10/09 PHP
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
PHP连接MySQL进行增、删、改、查操作
2017/02/19 PHP
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
jQuery cdn使用介绍
2013/05/08 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
2017/08/30 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
解密Python中的描述符(descriptor)
2015/06/03 Python
Python中有趣在__call__函数
2015/06/21 Python
python实现二维码扫码自动登录淘宝
2016/12/27 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
H5页面适配iPhoneX(就是那么简单)
2019/12/02 HTML / CSS
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
拾金不昧表扬信范文
2014/01/11 职场文书
2014政务公开实施方案
2014/02/19 职场文书
生日庆典策划方案
2014/06/02 职场文书
2015年组织部工作总结
2015/04/03 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
开会迟到检讨书范文
2015/05/06 职场文书
vue elementUI表格控制对应列
2022/04/13 Vue.js