12.01.2013 21:09:06
Несколько вариантов решения с оценкой производительности

Способ первый
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 сек.


Тэги: PHP

Яндекс.Метрика