Было предложено много хороших ответов. Я подумал, что было бы полезно оценить и сравнить их производительность . Вот результаты:
- ответ Тони Маро (
pathinfo
) занял 0,000031040740966797 секунд. Примечание. Недостатком является отсутствие полного пути.
- ответ от Мэтта (
substr_replace
) занял 0,000010013580322266 секунд.
- ответ Джереми Рутена (
preg_replace
) занял 0,00070095062255859 секунд.
Поэтому Я бы предложил substr_replace
, поскольку он проще и быстрее, чем другие.
Так же, как примечание, есть следующее решение, которое заняло 0.000014066696166992 секунды. Все еще не мог победить substr_replace
:
$parts = explode('.', $inpath);
$parts[count( $parts ) - 1] = 'exe';
$outpath = implode('.', $parts);