2010-11-19 10 views
0

私のPHPの本はファイルをアップロードするためのテンプレートのHTMLフォームを与えていないテキストボックス:ブックのようにそれを表示するHTMLフォーム:

<form action="upload.php" method="post" enctype="multipart/form-data"/> 
    <div> 
     <input type="hidden" name="MAX_FILE_SIZE" value="10000000"/> 
     <label for="userfile">Upload a file:</label> 
     <input type="file" name="userfile" id="userfile"/> 
     <input type="submit" value="Send File"/> 
    </div> 
</form> 

「ファイルアップロード:」[テキストボックス]を[閲覧...私は思ったんだけど

[]ファイルの送信ファイル]「選ばれていないファイル」を選択し、[:] [ファイル送信]

私はそれをそのままコピーし、私は取得していた結果では、「ファイルのアップロード」でありますなぜ矛盾が存在するのか?その周りに道がありますか?私はXHTML Transitionalを使用しています。この本にはdoctypeはありません。しかし、私はそれが問題だとは思わない。

私は、ユーザーが選択したファイルを取ることを目指し、プロセスそれを書いて、まだ存在していない別のファイルに結果を書き込んだスクリプト。私は、ユーザーが最初のファイルパス/名前をコピーして他のフィールドに貼り付けるだけで、その一部を変更できるようにすると便利なので、この質問をしています。

は(も:なぜ「参照」と「ファイルを選択してください」との違いを、私は「参照」する「userfile」フィールドの値を設定し、手動で試みたが、何も起こらなかった。これは、それほど重要なのですか?。しかし、私はそれにもかかわらず興味があります。)

答えて

2

それはおそらく別のブラウザおよび/またはバージョンを示しています。

は、それはあなたがサファリの下でそれを見ていると、本は例えば、IEのスクリーンショットを持っているように聞こえます。

ファイルのアップロードと<input type="file" />要素の完全な制御を取得するには、いくつかの方法があります。 Flashを使用するか、またはinputopacity: 0に設定し、その下に必要なものを配置できます。それは、今日のセキュリティ上の問題と見なされているので、フィールド -

+0

これはまさにそれです。投稿する前に他のブラウザでテストしなければならない...ありがとう! – user460847

+0

@ user460847心配する必要はありません、私を受け入れること自由に感じてください:) – alex

+0

私が最初に応答したときにそれを待つように言った...そこに行く – user460847

0

しばらく前に、ブラウザエンジンは入力タイプ=「ファイル」の上に、ほぼ完全な制御を取りました。たとえば、その前の日に、ファイルの入力ファイルにパスとファイル名(/ etc/passwdなど)を簡単にあらかじめ入力してフィールドを非表示にすることができます。 .. そのようなフィールドのファイル名をプリセットすることはできませんでした。そのため、ブラウザがこれらの特殊な入力フィールドで独自の作業を行う理由もあります。 上記のアレックスが言ったように、あなたはこれを回避することができますが、ファイル入力フィールドを「偽造する」という意味で面倒なことになります。