【发布时间】:2011-12-15 08:50:07
【问题描述】:
我有一个示例 Restler 类:
class Author {
....
function post($request_data=NULL) {
var_dump($request_data);
var_dump($_FILES);
var_dump($_REQUEST);
return $this->dp->insert($this->_validate($request_data));
}
....
}
我正在尝试通过简单的 HTML 表单将文件和一些数据发布到 Restler 服务:
<FORM action="http://host/index.php/author" enctype="application/x-www-form-urlencoded" method="post">
Name: <INPUT type="text" name="name" value="dima"><BR>
Email: <INPUT type="text" name="email" value="dima@prot.lt"><BR>
File: <INPUT type="file" name="files"><BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</FORM>
很明显,$_FILES 数组将为空,但 $_REQUEST 和 $request_data 将包含三个变量:
name = "dima"、email = "dima@prot.lt" 和 file = "selected file name"。
在接下来的测试中,我将表单 enctype 值更改为 multipart/form-data。
<FORM action="http://host/index.php/author" enctype="multipart/form-data" method="post">
Name: <INPUT type="text" name="name" value="dima"><BR>
Email: <INPUT type="text" name="email" value="dima@proto.lt"><BR>
File: <INPUT type="file" name="files"><BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</FORM>
当我按下提交表单时,在$_REQUEST 数组中,我会看到相同的三个变量,$_FILES 数组将填充上传的文件信息,但是$request_data 数组将为空!!
在这种情况下有人可以帮忙吗?我哪里做错了?
【问题讨论】: