アプリ版:「スタンプのみでお礼する」機能のリリースについて

xamppにてローカル環境でやっているのですがなぜか
type="file"だけPOSTされません。
ie6とfairefox3で試しましたが取得できませんでした。

調べてみたのですが同様の事例が見つからずわからかったのですが
これは何が原因なのでしょうか?

---html---
<form action="index.php" method="post" enctype="multipart/form-data">
<input type="text" name="name" />
<input type="file" name="img" />
<input type="submit" name="send" value="送信する" />
</form>

---php---
if (isset($_POST['send'])) {
echo '<pre>';
print_r($_POST);
echo '</pre>';
}

print_r($_FILES);を試すと正常に値が表示されます。全く意味不明
なのですが何かセキュリティ上の問題などが原因なのでしょうか?

A 回答 (2件)

$up_img = $_FILES['userfile']['name'];


$_POST['up_img'] = $up_img;

$_POST['up_img']が未定義なら問題はないですが変数を2回も入れ直すのは意味がないというか無駄ではないでしょうか
$_POSTにしないといけない理由があるのでしょうか
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

>$_POST['up_img']が未定義なら問題はないですが変数を2回も入れ直すのは意味がないというか無駄ではないでしょうか

確かにいま考えると
$_POST['up_img'] = $_FILES['userfile']['name'];
で済みますね。^^;

postについての理由ですが通常でpostされなかった事を初めて知り
どうすればできるのかちょっとした興味で試してみました。

お礼日時:2008/07/31 10:11

がると申します。


…とりあえず
http://www.php.net/manual/ja/features.file-uploa …
あたりを熟読してください。

これは、単純に「PHPというものがそのように設計/実装されているから」です。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。

>これは、単純に「PHPというものがそのように設計/実装されているから」です。

これを基にマニュアルを確認し思ったのですが単純に

$up_img = $_FILES['userfile']['name'];

と定義し

$_POST['up_img'] = $up_img;

と値を入れてやれば問題ないという解釈でいいのでしょうか?

お礼日時:2008/07/31 06:21

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