1--TEST-- 2SPL: DirectoryIterator::getExtension() basic test 3--SKIPIF-- 4<?php 5if (substr(PHP_OS, 0, 3) == 'WIN') { 6 die('skip.. only for Unix'); 7} 8?> 9--FILE-- 10<?php 11$dir = __DIR__ . DIRECTORY_SEPARATOR . md5('DirectoryIterator::getExtension') . DIRECTORY_SEPARATOR; 12mkdir($dir); 13 14$files = array('test.txt', 'test.extension', 'test..', 'test.', 'test'); 15foreach ($files as $file) { 16 touch($dir . $file); 17} 18 19$dit_exts = array(); 20$nfo_exts = array(); 21$skip = array('.', '..'); 22 23foreach (new DirectoryIterator($dir) as $file) { 24 if (in_array($file->getFilename(), $skip)) { 25 continue; 26 } 27 $dit_exts[] = $file->getExtension(); 28 $nfo_exts[] = pathinfo($file->getFilename(), PATHINFO_EXTENSION); 29} 30var_dump($dit_exts === $nfo_exts); 31sort($dit_exts); 32var_dump($dit_exts); 33?> 34--CLEAN-- 35<?php 36$dir = __DIR__ . DIRECTORY_SEPARATOR . md5('DirectoryIterator::getExtension') . DIRECTORY_SEPARATOR; 37$files = array('test.txt', 'test.extension', 'test..', 'test.', 'test'); 38foreach ($files as $file) { 39 unlink($dir . $file); 40} 41rmdir($dir); 42?> 43--EXPECTF-- 44bool(true) 45array(5) { 46 [0]=> 47 string(0) "" 48 [1]=> 49 string(0) "" 50 [2]=> 51 string(0) "" 52 [3]=> 53 string(9) "extension" 54 [4]=> 55 string(3) "txt" 56} 57 58