6-ть способів отримати розширення файлу в PHP

$filename = 'mypic.gif';
 
// 1. The "explode/end" approach
$ext = end(explode('.', $filename));
 
// 2. The "strrchr" approach
$ext = substr(strrchr($filename, '.'), 1);
 
// 3. The "strrpos" approach
$ext = substr($filename, strrpos($filename, '.') + 1);
 
// 4. The "preg_replace" approach
$ext = preg_replace('/^.*\.([^.]+)$/D', '$1', $filename);
 
// 5. The "never use this" approach
//   From: http://php.about.com/od/finishedphp1/qt/file_ext_PHP.htm
$exts = split("[/\\.]", $filename);
$n = count($exts)-1;
$ext = $exts[$n];

Ці 5-ть способів я чисто випадково побачив тут. І 6-й спосіб від мене:

$pathInfo = pathinfo($filename);
$ext = $pathInfo['extension'];

Ну, хто більше :)?

UPD. Можна сказати 6.2 від KAndy і VadimVoituk:

$ext = pathinfo($filename, PATHINFO_EXTENSION);

Самий класний спосіб :)!

8 thoughts on “6-ть способів отримати розширення файлу в PHP

  1. 7. напевно ще можна з допомогою ПХП-регулярок ereg, хоча точно не знаю завжди лише Перловськими користуюсь.

    ПС: А в своїх проектах завжди використовую перший варіант.

  2. Pingback: Alexander Makhno’s Blog » Get file extension in PHP

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>