php – 使用DirectoryIterator对文件进行排序

前端之家收集整理的这篇文章主要介绍了php – 使用DirectoryIterator对文件进行排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为lighttpd创建一个列出 PHP5脚本的目录.在给定目录中,我希望能够列出直接子目录和文件(带有信息).

快速搜索后,DirectoryIterator似乎是我的朋友:

  1. foreach (new DirectoryIterator('.') as $file)
  2. {
  3. echo $file->getFilename() . '<br />';
  4. }

但我希望能够按文件名,日期,哑剧类型等对文件进行排序

怎么做(使用ArrayObject / ArrayIterator?)?

谢谢

以上解决方案对我不起作用.这是我的建议:
  1. class SortableDirectoryIterator implements IteratorAggregate
  2. {
  3.  
  4. private $_storage;
  5.  
  6. public function __construct($path)
  7. {
  8. $this->_storage = new ArrayObject();
  9.  
  10. $files = new DirectoryIterator($path);
  11. foreach ($files as $file) {
  12. $this->_storage->offsetSet($file->getFilename(),$file->getFileInfo());
  13. }
  14. $this->_storage->uksort(
  15. function ($a,$b) {
  16. return strcmp($a,$b);
  17. }
  18. );
  19. }
  20.  
  21. public function getIterator()
  22. {
  23. return $this->_storage->getIterator();
  24. }
  25.  
  26. }

猜你在找的PHP相关文章