PHP 获取文件扩展名的方法

PHP获取文件扩展名有很多种方法,下面提供其中的三种方法,大家可以研究下,具体就不解释了,直接给最终正确答案.

echo pathinfo('/www/htdocs/your_image.jpg', PATHINFO_EXTENSION);

错误写法,你可能会这样写:

  1. function get_file_extension($file_name) {
  2. return substr(strrchr($file_name,'.'),1);
  3. }

或这样写

  1. function file_extension($filename) {
  2. return end(explode(".", $filename));
  3. }

顺便看下pathinfo干些什么

  1. <?php
  2. $file_path = pathinfo('/www/htdocs/your_image.jpg');
  3. echo "$file_path ['dirname']n";
  4. echo "$file_path ['basename']n";
  5. echo "$file_path ['extension']n";
  6. echo "$file_path ['filename']n"; // only in PHP 5.2+
  7. ?>

以上将输出 /www/htdocs,your_image.jpg,jpg,your_image

  1. <?php
  2. //方法一
  3. function extend_1($file_name)
  4. {
  5. $retval="";
  6. $pt=strrpos($file_name, ".");
  7. if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);
  8. return ($retval);
  9. }
  10. //方法二
  11. function extend_2($file_name)
  12. {
  13. $extend = pathinfo($file_name);
  14. $extend = strtolower($extend["extension"]);
  15. return $extend;
  16. }
  17. //方法三
  18. function extend_3($file_name)
  19. {
  20. $extend =explode(".", $file_name);
  21. $va=count($extend)-1;
  22. return $extend[$va];
  23. }
  24. ?>