Получаем расширение файла средствами PHP

12.01.2013

Несколько вариантов решения с оценкой производительности.

Еще по теме Проверка расширения файла на наличие в белом списке..

Способ первый
1
2
3
4
function getExtension1($filename)
{
  return end(explode(".", $filename));
}

Способ второй
1
2
3
4
5
function getExtension2($filename)
{
  $path_info = pathinfo($filename);
  return $path_info['extension'];
}

Способ третий
1
2
3
4
function getExtension3($filename)
{
  return substr($fileName, strrpos($fileName, '.') + 1);
}

Способ четвертый
1
2
3
4
function getExtension4($filename)
{
  return substr(strrchr($fileName, '.'), 1);
}

Способ пятый
1
2
3
4
function getExtension5($filename)
{
  return array_pop(explode(".", $filename));
}

Время для 50 000 прогонов в цикле:

Способ #1: 0.6777439 сек.
Способ #2: 0.5664740 сек.
Способ #3: 0.6604638 сек.
Способ #4: 0.4782789 сек.
Способ #5: 0.6564250 сек.


Итого, лучший вариант:

 
function getExtension($sFileName)
{
  return substr(strrchr($sFileName, '.'), 1);
}

или

$sExt = pathinfo($filename, PATHINFO_EXTENSION);


Категории: PHP
Яндекс.Метрика