原谅我在这方面的无知..
我想我理解使用:
extract($_REQUEST);
在 php 文件中会将 html 表单输入转换为相应的变量。例如:
<input type="text"name="author"/>
变成:
$author
是对的吗?
但是,我对如何处理多部分表单感到困惑。例如,一个有 1 个文件(一个图像)和两个文本输入。如何提取这些数据并将其放入变量中?
原谅我在这方面的无知..
我想我理解使用:
extract($_REQUEST);
在 php 文件中会将 html 表单输入转换为相应的变量。例如:
<input type="text"name="author"/>
变成:
$author
是对的吗?
但是,我对如何处理多部分表单感到困惑。例如,一个有 1 个文件(一个图像)和两个文本输入。如何提取这些数据并将其放入变量中?
如果 REGISTER GLOBALS 打开(不推荐),变量 $author 将自动可用。$_REQUEST 是一个超全局的持有 POST 和 GET 信息。
我建议您阅读有关 $_POST、$_GET 和 $_FILES 的信息
好的,再读一遍,你对extract的理解是对的。但请注意,author
输入通常仍然可用$_REQUEST["author"]
。通常避免将它们全部提取出来。
例如,如果您希望将该值用作表单输入,您可以编写:
<input name="author" value="<?=htmlspecialchars($_REQUEST["author"])?>">
如果你想有短名称,例如它有太多的字段并且它节省了大量的输入,那么我建议使用可选参数来提取():
extract($_REQUEST, EXTR_PREFIX_ALL, "i_");
这将生成一个$i_author
变量,以及所有其他带有$i_
前缀的输入字段。这被认为对其他(假设的)局部或全局变量的副作用较小。如果这有助于处理,您也可以array_map("htmlspecialchars",$_REQUEST)
用于提取。
多部分表单数据将另外填充 $_FILES 数组,该数组具有不同的结构。见 PHP 手册http://php.net/manual/en/features.file-upload.php