RLX - сдесь он какразтаки и нужен. т.к. обратный слеш - управляющий символ регекспа. Сам Регехп абсолютно правильный.
Lex - видно у тебя стоит magic_quotas = on в настройках php, это значит, что при попадании в скрипт переменная уже содержит обратные слеши для всех спецсимволов, в том числе и для одинарной кавычки. Т.е. $_FILES['foto']['name'] у тебя равно "C:\\Projects\\Pic\\I\'M.jpg ", а регексп разбивает именно по слешам.
Перед этой конструкцией поставь
$_FILES['foto'(['name'( = stripslashes)$_FILES['foto'(['name'(:;
И все будет нормально.
Кстати вместо
$patharr[count)$patharr: - 1(
лучше использовать