私は基本的に、パスからファイル名を抽出する方法を求めています。ファイルの種類が変更され、ファイル名に空白が含まれる場合があります。また、パスは Unix 形式または Windows 形式の場合があります。
/Users/Bob/Documents/some file.docx
または
C:\Users\Bob\My Documents\some file.docx
完全なソース パスは既に という変数に格納されており$fileSource
、拡張子のないファイル名が$fileName
. str_replace
ファイルソースの共通部分をゼロスペースに置き換えようとしましたが、パスが変更される可能性があるため、これは実行できません。
正規表現を使用して、最後の文字列 (左から右に読み取る) \ または / を逆方向に処理できるかどうかを考えましたが、正規表現についてはまだあまり知りません。(?<= string )を開始する必要があるルックバック機能について読みましたが、これを機能させることができません。
最後に、拡張子付きのファイル名が必要な理由は、PHP を使用してファイルをある場所から別の場所にコピーしているためです。ファイル拡張子がない場合、ファイルは拡張子なしで表示され、手動で追加する必要があります。
私が求めていることが不可能な場合は、正規表現を使用してファイル拡張子を取得し、それを連結することができると思いますが、$fileName
もっと優雅なものを望んでいます。
乾杯。