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

フォーム<form>内のファイル名入力フィールド<input type="file">をPOSTで取得すると、IE6では「パス名:ファイル名」が取得されるのですが、Firefox2.0では「ファイル名」しか取得できません。
FirefoxでもIEと同様に「パス名:ファイル名」を取得するにはどうしたらよいでしょうか?

例えば、デスクトップに「a.txt」ファイルがあれば
IE6では「C:\\Documents and Settings\\Administrator\\デスクトップ\\a.txt」
Firefox2.0では「a.txt」
と表示されます。
FirefoxでもIEと同じようにするにはどうすれば良いでしょうか?
よろしくお願いします。

以下はソースです。
---------------------ソース--------------------------------
<html>
<body>
<form method="post" action="<?=$_SERVER["PHP_SELF"]?>">
<input type="file" name="file">
<input type="submit" name="Submit">
</form>

<?php
echo $_POST['file'];
?>
</body>
</html>
---------------------ソース--------------------------------

A 回答 (1件)

できません。


ブラウザ動作としてはFirefoxの方が正しく、フルパス名を送ってしまうIE6は以前から問題視されていました。
http://d.hatena.ne.jp/hoshikuzu/20050226#D200502 …

IE7では改善されたはずです(未確認)
そういうわけですので、ファイル名しか送られてこないことを前提にプログラミングされてください。

また補足ですが、ファイルをアップロードする時はFORMタグに
  enctype="multipart/form-data"
を付加するのがお約束です。
付けておかないとアップロードされたファイルのデータが正しく受け取れません。
こちらのページが参考になるかと思います。
http://search.net-newbie.com/php/features.file-u …
    • good
    • 0
この回答へのお礼

なるほどです。参考になりました。
ご回答ありがとうございました。

お礼日時:2007/07/19 00:04

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