807444 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

まんじうこわい@楽

まんじうこわい@楽

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

Keyword Search

▼キーワード検索

Calendar

Profile

hknopage

hknopage

Free Space

Category

Freepage List

2009.01.07
XML
カテゴリ: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] カテゴリの最新記事



© Rakuten Group, Inc.
X