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; www.111cn.net
    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>');
   
   }

时间: 2024-09-27 23:05:44

PHP 中获取文件扩展名的正确方法的相关文章

PHP中获取文件扩展名程序代码

方法一,我自己最的一种获取扩展名方法  代码如下 复制代码 function extend_2($file_name) { $extend = pathinfo($file_name); $extend = strtolower($extend["extension"]); return $extend; } 方法二,利用explode函数与end函数组合操作  代码如下 复制代码 function get_extension($file) { return end(explode('

PHP中获取文件扩展名的N种方法小结_php技巧

第1种方法: 复制代码 代码如下: function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: 复制代码 代码如下: function get_extension($file) { return substr($file, strrpos($file, '.')+1); } 第3种方法: 复制代码 代码如下: function get_extension($file) { return end(explode(

php文件扩展名判断及获取文件扩展名的N种方法_php实例

下面代码是php文件扩展名判断 <!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content="text/html" charset="utf-8"> <title>check file</title> </head> <body> <b>文件扩展名验证</b>

php中如何获取文件扩展名

$str = 'as.da.efg'; //获取文件后缀名 //strrchr - 查找指定字符在字符串中的最后一次出现 echo substr(strrchr($str,"."),1)."<br />"; //strrpos-计算指定字符串在目标字符串中最后一次出现的位置 echo substr($str,strrpos($str,".")+1)."<br />"; //end - 将数组的内部指针指

PHP 获取文件扩展名的方法

PHP 获取文件扩展名的方法 PHP获取文件扩展名有很多种方法,下面提供其中的三种方法,大家可以研究下,具体就不解释了,直接给最终正确答案 echo pathinfo('/www/htdocs/your_image.jpg', PATHINFO_EXTENSION); 错误写法: 你可能会这样写 function get_file_extension($file_name) {     return substr(strrchr($file_name,'.'),1); } 或这样写 functi

PHP获取文件扩展名的4种方法_php技巧

本文实例讲述了PHP获取文件扩展名的4种方法.分享给大家供大家参考,具体如下: $filename="123.jpg"; //方法一: function get_ext($file_name){ return array_pop(explode('.', $file_name)); //用.号对字符串进行分组 } echo get_ext($filename); //方法二: $fileEx=strtolower(substr(strrchr($filename,".&quo

php获取文件扩展名二种有效方法

php教程获取文件扩展名二种有效方法 $upload_name ='www.111cn.net.rar';   $attach_ext = strtolower(substr(strrchr($upload_name,'.'),1));    echo $attach_ext; //方法二 $extarray = explode('.',$upload_name); if( is_array( $extarray ) ) {  $ext = end($extarray);  echo $ext;

php简单获取文件扩展名的方法

 这篇文章主要介绍了php简单获取文件扩展名的方法,实例分析了php获取文件扩展名的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了php简单获取文件扩展名的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 <?php function get_file_extension($file_name) { /* may contain multiple dots */ $string_parts = explode('.

php从给定url获取文件扩展名的方法

 本文实例讲述了php从给定url获取文件扩展名的方法.分享给大家供大家参考.具体实现方法如下: <?php /** * 给定url,获取文件后缀 * @param string $url * @return string */ function getUrlPostfix ($url) { $url_arr = explode('.', $url); $postfix = $url_arr[count($url_arr) - 1]; $substr = substr($postfix, 0,