Я в основном после метода извлечения имени файла из пути. Тип файла может измениться, и имя файла может иметь пробел. Также путь может быть в форме Unix или в форме Windows.PHP Extract File Name
/Users/Bob/Documents/some file.docx
Или
C:\Users\Bob\My Documents\some file.docx
Полный исходный путь уже хранится в переменной с именем $fileSource
и у меня есть имя файла без расширения в переменной с именем $fileName
. Я попытался использовать str_replace
, чтобы заменить общую часть источника файла нулевым пространством, но путь может измениться, поэтому это небезопасно.
Я думал, что если regex можно использовать для работы назад через строку, последнее (чтение слева направо) \ или /, но я пока не знаю много regex. Я прочитал о возвратной функции, которая должна начинаться (? < = строка), но я не могу заставить это работать.
Последнее, что мне нужно имя файла с расширением, потому что я использую PHP, чтобы скопировать его из одного места в другое, и если у меня нет расширения файла, файлы появятся без расширения, и мне придется добавьте его вручную.
Cheers.
Что случилось с встроенным [Pathinfo()] (http://php.net/manual/ en/function.pathinfo.php), для этой цели есть –
+1 для ['pathinfo'] (http://php.net/manual/en/function.pathinfo.php). – Jon
Проверьте руководство по PHP в [basename] (http://www.php.net/manual/en/function.basename.php) –