![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
use CGI qw(:standard);
use File::Basename;
$upimg1_pm = param('upimg1');
while (read($upimg1_pm, $buffer, 2048)) { $file .= $buffer; }
$FileName = basename($upimg1_pm, "");
open UP,"> $img_dir/$FileName";
binmode UP;
print UP $file;
close UP;
上のようにファイルのアップロードのプログラムを書いたのですが、実際アップロードしたら
C:\Documents and Settings\~top.gif
のようにWindowsのローカルパスがそのままファイル名としてアップロードされてしまいました。
basenameはファイル名をとるモジュールときいていたのですがなぜこうなるのでしょうか?
おそれいりますがご教授おねがいします。
もしかしてFile::Basename;のモジュールがないとか・・・
Perl5です。
No.1ベストアンサー
- 回答日時:
basenameでの解析はOS/ファイル仕様に左右されます。
windows以外のOSで使用すればWindowsの規則で書かれたファイル名はうまく解析できないでしょう。
これは basename使用前に
fileparse_set_fstype( ファイル仕様 );
を呼んでおく事で動作しているOSによらず目的のファイル仕様を解析できます。
basename fileparse_set_fstype で検索すると詳しい解説がみつかるかも。
No.2
- 回答日時:
File::Basenameは、perlが動作しているOSのパス名に合わせて解析しているために、OSの種類を指定する必要があります。
basename()を使用する前にfileparse_set_fstype("MSWin32");
を指定してやれば、期待した動きをしてくれると思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
- その他(プログラミング・Web制作) セレクトボックスで選択された値をコントローラーで使用したい 2 2022/07/26 16:41
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Perl perlのflock関数でロックをかけたままopen関数で何度もファイルを開きなおすことはできますか 3 2023/05/01 22:25
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの足し算(pascal)
-
【PHP】アクセス過多でファ...
-
ExcelをCSV書き出す場合のシー...
-
ReadLineでの読み出し行を指定する
-
VBAでCSVファイルの特定行を書...
-
awkスクリプトでダブルクォーテ...
-
エクセルVBA コードが同じでも...
-
window.open でのファイル指定方法
-
タブの色を変更する方法
-
CSVデータの編集の際の重複チェ...
-
サーバーにある特定の拡張子フ...
-
指定したフォルダにアップロード
-
batファイルでrenameができませ...
-
パスから最後のディレクトリだ...
-
Perlの初心者です。2重ループ...
-
Perlの質問:行と列を入れ替え...
-
Perl<->Oracle間での文字化けに...
-
perlでファイル内の文字列を置...
-
close()で例外が投げられる理由
-
Perlについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fopenでディレクトリ内の全ファ...
-
ファイルロックの解除方法
-
TSVファイルを読み込んでCSV形...
-
[perl] perlで書き込み中に、PC...
-
Cookieが保存できない。
-
最新のファイルのみ検索
-
perlをデスクトップのショート...
-
flockについて
-
perlでCSV形式ファイルのア...
-
ファイルの結合
-
unixでのファイルロックの方法...
-
CGI のモジュールをつかってフ...
-
ファイルがオープンできない
-
ファイルディスクリプタとは?
-
file_exists関数について
-
1行がやたら長いテキストをバッ...
-
ファイルの存在確認をしたい
-
HTMLの中にCGIファイルリンク
-
perl の printでのファイルへの...
-
Perl 処理速度について
おすすめ情報