ファイルのアップロードとテキスト フィールドの 2 つのフィールドを持つ HTML POST フォームをまとめようとしています。フォームにはファイル アップロード用のタイプ multipart/form-data があるため、通常の PHP $_POST 変数を介してテキスト フィールドを取得できません。では、PHP を使用してフォームのテキスト フィールドにアクセスするにはどうすればよいでしょうか。
リクエストに応じて、基本的にアンドリューから直接取得したコードを次に示します。
<html>
<body>
<form action="test2.php" method="post" enctype="multipart/form-data">
Name: <input type="text" name="imageName" />
Image: <input type="file" name="image" />
<input type="submit" value="submit" />
</form>
</body>
</html>
<?php
echo $_POST['imageName'];
echo "<pre>";
echo var_dump($_FILES['image']);
echo "</pre>";
?>
これがテストファイル全体です。enctype を削除すると、POST されたデータを取得できますが、もちろんファイルは取得できません。enctype を multipart/form-data として使用すると、ファイルを取得できますが、POST されたデータからは何も取得できません。
enctype の出力は次のとおりです。
array(5) {
["name"]=>
string(34) "testing.png"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
それなし:
testing
NULL
両方とも同じ正確な入力。