こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイルアップローダーで送信するファイルを保存する際にファイル名に自動でURLパラメーターを入れ込む方法を教えてください。

phpの超初心者です。

phpでファイルをブラウザ上でアップロードするシステム
でかつ、
アップロード用のURLにhttp://www.hogehoge.com/up.php?no=1234などのパラメーターを付けてアップロードするファイルを「1234.jpg」という名前で保存するものが必要になり色々調べました。

以下の方法だとアップロードしたファイル名が「.jpg」になってしまいます。

$count_fileに単純な文字列、'image'などを入れるとちゃんと「image.jpg」としてアップロードできます。

<form action="<?= $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
<p><input type="file" name="data" /> <input type="submit" value="アップロード"></p>
</form>
<?php
$updir = "./data";
$tmp_file = @$_FILES['data']['tmp_name'];
$count_file = $_GET['no'];
@list($file_name,$file_type) = explode(".",@$_FILES['data']['name']);
$copy_file = $count_file . "." . $file_type;
move_uploaded_file($tmp_file,"$updir/$copy_file");
?>

パラメーターなどの環境変数をファイル名に入れ込むにはどうしたらよいのでしょうか?調べ方が悪いのか、検索しまくってもわからなくて困っています。

どなたかご教授いただけませんでしょうか?

投稿日時 - 2010-01-12 00:40:42

QNo.5586540

すぐに回答ほしいです

質問者が選んだベストアンサー

初期画面表示のURL
http://www.hogehoge.com/up.php?no=1234
サブミット後のURL
http://www.hogehoge.com/up.php
になっていませんか?

<form action="<?= $_SERVER["PHP_SELF"]; ?>?no=<?= $_GET['no']; ?>" method="post" enctype="multipart/form-data">
とかでどうでしょう?

投稿日時 - 2010-01-12 09:43:35

お礼

ありがとうございます。
サブミット後、そうなってました。

actionでパラメーターなしのURLに返してしまっていたんですね。。

助かりました。勉強します。

投稿日時 - 2010-01-12 15:37:19

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問