プロが教える店舗&オフィスのセキュリティ対策術

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");
?>

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

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

A 回答 (1件)

初期画面表示の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">
とかでどうでしょう?
    • good
    • 0
この回答へのお礼

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

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

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

お礼日時:2010/01/12 15:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!