Наверняка вам приходилось когда-нибудь сталкиваться с такой ситуацией
(а если не приходилось, то просто представьте ее себе): программа обрабатывает какой-то входной файл с именем и расширением, и необходимо сгенерировать выходной файл, имеющий то же имя, но другое расширение. Например, файл file.in ваша программа должна обработать и записать результат в file.out. Проблема заключается в том, чтобы отрезать у имени входного файла все после точки и "приклеить"
на это место out.
Проблема довольно тривиальна, и даже на PHP ее можно решить всего несколькими командами. Например, так:
$p=strrpos($inFile,'.');
if($p) $outFile=substr($inFile,0,$p); else $outFile=$inFile;
$outFile.=".out";
На самом деле, выглядит довольно неуклюже (особенно из-за того, что приходится обрабатывать случаи, когда входной файл не имеет расширения, а значит, в нем нет точки). И эта "навороченность"
имеет место, [E86]несмотря на то, что само действие приведенных строк можно описать всего несколькими словами. А именно: "Замени в строке $inFile все, что после последней точки (и ее саму), или, в крайнем случае, "конец строки"
на строку .out, и присвой это переменной $outFile".