我正在使用表单进行一些测试并遇到了障碍,我有一个非常简单的测试脚本可以工作,但问题是我的表单中的 FILE 字段由于某种原因没有提交到 $_POST 数组,如果我取出 encode="multipart/form-data" 它确实如此,否则我只会得到其他字段。这是脚本:
<?PHP
print_r($_POST);
echo"<br>";
print_r($_FILES);
$name = $_FILES["img1"]["name"];
$tmp_name = $_FILES["img1"]["tmp_name"];
$uploads_dir = "uploads";
echo "<br>TEMP NAME:</b>";
echo $tmp_name;
move_uploaded_file($tmp_name, "$uploads_dir/$name");
?>
<html>
<body>
<br><br>
-------------------------
<form name="test" id="test" action="index.php" method="post" enctype="multipart/form-data">
<label>Name</label>
<input type="text" name="title" id="title">
<br>
<label>File</label>
<input type="file" name="img1" id="img1" size="40">
<br>
<input type="submit" value="submit">
</form>
输出是:
POST ARRAY: Array ( [title] => some title )
FIELS ARRAY: Array ( [img1] => Array ( [name] => chicken.jpg [type] => image/jpeg [tmp_name] => /tmp/phpcrBLw9 [error] => 0 [size] => 30940 ) )
TEMP NAME:/tmp/phpcrBLw9
如您所见,POST 只有标题,而不是文件名,出于编程原因,我需要它两者兼有,有没有办法做到这一点而不必作弊/隐藏字段或手动编辑值?