【问题标题】:PHP file extension issue [duplicate]PHP文件扩展名问题[重复]
【发布时间】:2012-10-07 12:46:57
【问题描述】:

可能重复:
How to extract a file extension in PHP?

我们如何使用任何 php 函数获取文件扩展名?

php.ini 中是否有一些内置函数。我正在使用一些爆炸功能,但任何其他功能都存在

【问题讨论】:

    标签: php file extension-methods


    【解决方案1】:

    您可以为此使用pathinfo

    echo pathinfo("foo.txt", PATHINFO_EXTENSION);
    

    但是使用strrpos 滚动您自己的应用程序也不难。

    【讨论】:

    • 我不记得我在使用这个函数时遇到了什么问题,那是很久以前的事了,关于 /usr/share/file/magic 的问题,但我不记得了:/ 这就是为什么我避免使用这个功能。任何想法为什么这个函数可能会抱怨找不到该路径?
    【解决方案2】:

    是的,你可以.......

    只需使用以下代码.......

    将文件路径传递给此 PHP 函数并获取扩展名。

    功能扩展($路径){ $qpos = strpos($path, "?"); if ($qpos!==false) $path = substr($path, 0, $qpos); $extension = pathinfo($path, PATHINFO_EXTENSION); 返回 $extension; }

    【讨论】:

      【解决方案3】:

      是的,使用Pathinfo() 函数。

      <?php
          $path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
           echo $path_parts['dirname'], "\n";
           echo $path_parts['basename'], "\n";
           echo $path_parts['extension'], "\n";
           echo $path_parts['filename'], "\n"; // since PHP 5.2.0
      ?>
      

      上面的例子会输出:

      /www/htdocs/inc
      lib.inc.php
      php //your extension
      lib.inc
      

      【讨论】:

        【解决方案4】:

        这是我用来获取文件扩展名的代码:

        $filename = '/some/path/file.txt';
        $extension = strtolower(substr(strrchr($filename, '.'), 1));
        

        您可以将它包装在您的 Utils 类或其他东西中;)

        【讨论】:

        • 那么你为什么不使用其他人在他们的答案中引用的内置函数 - 你有一些秘密知识表明你的方法更好吗?
        • 一点也不!我曾经使用 pathinfo()。可能是我的服务器设置,但前段时间我在使用该功能时开始遇到一些问题,关于找不到路径/usr/share/file/magic 所以,当我需要导出和调整一些图像的大小时,我采用了这种 (substr()) 方法而不是 pathinfo(),但是来吧,如果你在使用 pathinfo 时没有任何问题,那就去吧。 ;)
        猜你喜欢
        • 2011-11-25
        • 2014-05-29
        • 1970-01-01
        • 2014-09-19
        • 1970-01-01
        • 2011-02-16
        • 1970-01-01
        • 2011-08-27
        • 1970-01-01
        相关资源
        最近更新 更多