2

これで私の無知を許してください..

私はそれを使用して理解していると思います:

extract($_REQUEST);

php ファイルでは、html フォーム入力を対応する変数に変換します。例えば:

<input type="text"name="author"/>

になります:

$author

そうですか?

ただし、マルチパート フォームの処理方法については混乱しています。たとえば、1 つのファイル (画像) と 2 つのテキスト入力を含むもの。このデータを抽出して変数に入れるにはどうすればよいですか?

4

2 に答える 2

4

REGISTER GLOBALS がオンになっている場合 (これは推奨されません)、変数 $author は自動的に使用可能になります。$_REQUEST は、POST および GET 情報を保持するスーパーグローバルです。

$_POST、$_GET、$_FILES について読むことをお勧めします

于 2010-11-13T12:57:10.050 に答える
2

さて、もう一度読んだ後、抜粋についてのあなたの理解は正しいです。ただし、author入力は一般的に利用可能であることに注意してください$_REQUEST["author"]。通常、それらをすべて抽出することは避けてください。

たとえば、値をフォーム入力として再利用したい場合は、次のように記述できます。

<input name="author" value="<?=htmlspecialchars($_REQUEST["author"])?>">

短い名前が必要な場合、たとえばフィールドが多すぎて多くの入力が不要な場合は、オプションのパラメーターを使用して extract() を使用することをお勧めします。

extract($_REQUEST, EXTR_PREFIX_ALL, "i_");

これにより、変数が生成され、$i_author他のすべての入力フィールドには$i_接頭辞が付きます。これは、他の (仮想的な) ローカル変数またはグローバル変数との副作用が少ないと考えられています。array_map("htmlspecialchars",$_REQUEST)処理に役立つ場合は、抽出にも使用できます。


マルチパート フォーム データは、別の構造を持つ$_FILES 配列を追加で埋めます。PHP マニュアルを参照してくださいhttp://php.net/manual/en/features.file-upload.php

于 2010-11-13T13:09:47.240 に答える