复选框和图像上传不在$ _POST var中?

时间:2010-08-17 12:57:11

标签: php codeigniter post foreach

我有一张表格。

在表单中,有一个图片上传和一系列复选框。

我正在尝试遍历$ _POST变量来处理它们。

当我这样做时

foreach($_POST as $key => $value){echo "$key $value"; }

我只输出'输入'$ _POST vars。复选框值和图像上传值不是。

我正在使用Code Igniter作为框架。

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:4)

您应该将任何选中的复选框作为$_POST数组的一部分。未选中的复选框将不存在。

上传的图片(来自<input type="file" />字段)将位于$_FILES数组中,当且仅当您将表单enctype设置为“multipart / form-data”时(请参阅{{ 3}})。

要开始使用PHP处理文件上传,有一个关于here的优秀教程。

鉴于HTML:

<input name="foobar" type="file" id="some_id_for_foobar" />

如果您想获取上传文件的文件名(即文件名在用户PC上),您需要:

$name = $_FILES["foobar"]["name"];

如果您想要服务器上的上传文件的名称,则需要:

$location = $_FILES["file"]["tmp_name"];

您也可以在W3Schools上找到有用的文档。

答案 1 :(得分:1)

  1. 未选中的复选框永远不会出现在POST(按设计)
  2. 文件丢失的最明显原因是您没有声明表单发送文件,如下所示:&lt; form enctype =“multipart / form-data”action ...