我試圖放在一起的HTML POST-ed表單有兩個字段 - 文件上傳和文本字段。由於表單的文件上傳類型爲multipart/form-data,因此無法通過正常的PHP $ _POST變量獲取文本字段。那麼我怎樣才能在PHP的表單中的文本字段?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-ed數據,但不是當然的文件。使用enctype作爲multipart/form-data,我可以獲取文件,但是沒有任何來自POST-ed數據。
下面是與ENCTYPE輸出:
array(5) {
["name"]=>
string(34) "testing.png"
["type"]=>
string(0) ""
["tmp_name"]=>
string(0) ""
["error"]=>
int(1)
["size"]=>
int(0)
}
沒有:
testing
NULL
完全相同輸入兩次。
喬納森和安德魯說,$ _ POST應該工作,假設你使用後張貼您的形式(這是一個好的假設,因爲你要發佈的文件)。那麼你可以發佈一些代碼嗎?確保在html文本字段中設置了name屬性,這就是你用來獲取文本frield值的方法。 – alanquillin 2009-07-02 17:01:59