DirectoryIterator :: getExtension()版本

jul*_*lio 6 php

我正在从CLI运行PHP脚本,该脚本使用PHP中的DirectoryIterator::getExtension()方法.

我运行的PHP版本是5.3.5,但我一直在收到错误 Fatal error: Call to undefined method DirectoryIterator::getExtension()

该脚本在运行PHP 5.3.6的本地开发机器上运行正常,没有错误.但是,PHP man中的DirectoryIterator :: getExtension()页面没有提到版本.

谁能告诉我使用这种方法需要什么版本?

ebe*_*ent 8

这是获取文件扩展名IMO的一种更简单的方法:

<?php
  $iterator = new DirectoryIterator($data_dir);
  foreach($iterator as $entity) {
    if($entity->isFile()) {
      $file_extension = pathinfo($entity->getFilename(), PATHINFO_EXTENSION);
      ...
    }
  }
?>
Run Code Online (Sandbox Code Playgroud)


Tim*_*per 5

从文档:

(没有可用的版本信息,可能只在SVN中)

似乎提交没有使PHP 5.3.5版本,但进入5.3.6版本.该页面尚未更新.

正如马里奥指出的那样,5.3.6更改日志提到了这一点:

  • SPL扩展:
    • ...
    • 添加了SplFileInfo :: getExtension().FR#48767.(彼得考伯恩)

  • 谢谢.我想我将不得不使用pathinfo().还有其他想法吗?谢谢. (2认同)