|
カテゴリ:perl
今日もせかせかperlで開発。
ファイルのアップロード機能作成で、アップロードしたファイルの元ファイル名を取得したいっ。 こんな感じで取得できました。 File::Basename::basenameでファイル名を取得するも、サーバーと環境が違うとディレクトリパスをうまく削ってくれない。 正規表現でフルパスからファイル名を取得 -------------------------------------------------------------------------- use File::Basename; #鯖とクライアントのディレクトリ区切り文字が同じ場合は、これだけで[ファイル名.拡張子]が取れるはず。 my $filename = File::Basename::basename([アップロードファイルへのハンドラ]); #拡張子を削除 $filename =~ s/\..*$//; #ファイル名の前にあるディレクトリパスを削除 $filename =~ s/(^.*\/)|(^.*\\)//; --------------------------------------------------------------------------- 事前にアップロードが正しく行われたかチェックを忘れずに。 ディレクトリパス削除では「/(スラッシュ)」か「\(円マーク)」があれば、それ以前の文字をすべて削除。 MACの区切り文字は知らないので、LinuxとWindowsしかうまくいかないかも。 正規表現はもっとスマートな記述があるかもしれないけどカンベンシテクダサイ。 明日もがんばります。 お気に入りの記事を「いいね!」で応援しよう
Last updated
2009.01.07 22:52:07
コメント(0) | コメントを書く
[perl] カテゴリの最新記事
|