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 相关文章推荐
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
PHP中文件缓存转内存缓存的方法
Dec 06 PHP
php获取一个变量的名字的方法
Sep 05 PHP
ThinkPHP表单自动验证实例
Oct 13 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
thinkphp模板用法和内容输出实例
Nov 28 PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 PHP
php 生成签名及验证签名详解
Oct 26 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
Nov 22 PHP
Laravel框架实现超简单的分页效果示例
Feb 08 PHP
PHP中number_format()函数的用法讲解
Apr 08 PHP
php的单例模式及应用场景详解
Feb 27 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
php准确获取文件MIME类型的方法
2015/06/17 PHP
PHP PDOStatement::bindValue讲解
2019/01/30 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
Vue2.0表单校验组件vee-validate的使用详解
2017/05/02 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
解决Jquery下拉框数据动态获取的问题
2018/01/25 jQuery
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
Vue实现小购物车功能
2020/12/21 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
2020/12/26 Vue.js
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Java多线程编程中ThreadLocal类的用法及深入
2016/06/21 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
python 利用pyttsx3文字转语音过程详解
2019/09/25 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
python实现数字炸弹游戏
2020/07/17 Python
Matplotlib animation模块实现动态图
2021/02/25 Python
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
database面试题
2013/03/28 面试题
运动会开幕式解说词
2014/02/05 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
函授生自我鉴定
2014/03/25 职场文书
HTML中table表格拆分合并(colspan、rowspan)
2021/04/07 HTML / CSS
Python上下文管理器Content Manager
2021/06/26 Python