PHP 中获取文件扩展名的正确方法
发布:smiling 来源: PHP粉丝网 添加日期:2014-06-23 08:48:35 浏览: 评论:0
在 PHP 中,如何获取文件扩展名名呢,我们可能会用字符串操作函数进行处理,但下面举的这些方法只是获取了用户的名字后面带.后面的后缀了并不能做安全验证.
比如如下代码:echo substr(strrchr($file_name,'.'),1);
或者如下代码:echo end(explode(".", $filename));
最正确的方法应该是使用 pathinfo 函数,如:
echo pathinfo($filename, PATHINFO_EXTENSION);
pathinfo 函数支持4种类型的返回:
PATHINFO_DIRNAME – 目录
PATHINFO_BASENAME – 文件名(含扩展名)
PATHINFO_EXTENSION – 扩展名
PATHINFO_FILENAME – 文件名(不含扩展名)
例子代码如下:
- function get_extension($filename){
- return pathinfo($filename,PATHINFO_EXTENSION);
- }
- //调用代码如下
- <?php
- print_r(pathinfo("/testweb/test.txt"));
- ?>
- //以上将输出如下结果:
- Array(
- [dirname] => /testweb
- [basename] => test.txt
- [extension] => txt
- )
如果要上传的用户最好要加以下面方法处理:
$extension=$upfile['type']; //这个是由upload上传过来的文件信息,代码如下:
- switch( $extension )
- {
- case 'application/msword':
- $extension ='doc';
- break;
- case 'application/vnd.ms-excel':
- $extension ='xls';
- break;
- case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':
- $extension ='docx';
- break;
- case 'application/vnd.ms-powerpoint':
- $extension ='ppt';
- break;
- case 'application/pdf':
- $extension ='pdf';
- break;
- case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':
- $extension ='xlsx';
- break;
- default:
- die('只允许上传doc,docx,xls,pdf,ppt文件 <a href="wend.php">重新上传</a>');
- }
Tags: PHP扩展名 PHP文件
- 上一篇:php遍历读取文件夹/目录图片信息
- 下一篇:PHP获取当前路径和目录的示例
相关文章
- ·PHP获取文件扩展名的常用方法小结【五种方式】(2018-11-04)
- ·php检查文件是否可读和可写(2013-11-14)
- ·PHP文件操作方法问答 (2013-11-14)
- ·PHP 文件操作概述 (2013-11-14)
- ·PHP开发中文件操作疑难问答(2013-11-27)
- ·php 文件目录操作函数(2014-01-06)
- ·php文件删除实现方法(2014-05-22)
- ·php文件写操作(2014-05-27)
- ·php 判断目录下是否有文件存在(2014-06-29)
- ·php文件名与文件内容查找器实例(2014-07-02)
- ·php遍历目录与文件夹的几种方法(2014-07-05)
- ·php文件读写实例程序(2014-07-29)
- ·php文件读写操作(2014-08-01)
- ·php取得文件后缀名方法(2014-08-02)
- ·php文件读取操作(2014-08-05)
- ·php文件读写操作实例代码(2014-08-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)