$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步,任何人都能解釋嗎? 而且從不使用方法意味着什麼?從文件獲取擴展
如果你的[上一個問題沿着類似的路線](http://stackoverflow.com/questions/9251707/removing-extensions-from-filename)被關閉爲一個確切的重複,也許你應該使用指定的重複問題的答案還是您上一個問題的高度優先的第一條評論? – rdlowrey 2012-02-12 19:20:22
我有點不同意這是重複的。 OP在這裏要求解釋一個具體的實現,就像上面代碼中所說的那樣... – 2012-02-12 19:23:41
我同意 - 我不認爲它是重複的。這是一個有效的問題,只是想知道爲什麼OP仍然搞亂它。我想撤銷(過於草率的)近距離投票,但我原來的意見仍然存在。 – rdlowrey 2012-02-12 19:25:08