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 相关文章推荐
SSI指令
Nov 25 PHP
php 定界符格式引起的错误
May 24 PHP
php自动注册登录验证机制实现代码
Dec 20 PHP
简单的cookie计数器实现源码
Jun 07 PHP
php实现天干地支计算器示例
Mar 14 PHP
php实现比较全的数据库操作类
Jun 18 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
深入理解PHP之OpCode原理详解
Jun 01 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 PHP
ThinkPHP框架整合微信支付之刷卡模式图文详解
Apr 10 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
Jun 05 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
深入理解PHP类的自动载入机制
2016/09/16 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
PHP数组对象与Json转换操作实例分析
2019/10/22 PHP
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
JavaScript中使用ActiveXObject操作本地文件夹的方法
2014/03/28 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
ng2学习笔记之bootstrap中的component使用教程
2017/03/09 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
Sublime Text3 配置 NodeJs 环境的方法
2020/05/20 NodeJs
零基础写python爬虫之使用Scrapy框架编写爬虫
2014/11/07 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python实现员工管理系统
2018/01/11 Python
python简易实现任意位数的水仙花实例
2018/11/13 Python
centos+nginx+uwsgi+Django实现IP+port访问服务器
2019/11/15 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
Python实现粒子群算法的示例
2021/02/14 Python
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
电子商务应届生自我鉴定
2014/01/13 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
户籍证明模板
2014/09/28 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
人事任命书范本
2015/09/21 职场文书
2016元旦晚会主持人开场白和结束语
2015/12/03 职场文书
2016年世界艾滋病日宣传活动总结
2016/04/01 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis