我有一个表单,我发布了不同的字段,除了输入文件类型外,发布的每种类型的字段似乎都有效。
我正在使用var_dump($_POST);
,所有其他字段都在那里,但输入类型文件中没有。
我的表单部分如下所示:
<form enctype="multipart/form-data" id="ajax-form" action="index2.php" method="POST" data-ajax="true">
并且适用于其他一切。
如果输入类型文件中有任何不同之处?
<input type="text" id="myid" name="myid" value="" /> ..This posts value
<input id="theimage" name="theimage" type="file" /> .. does not post value
任何想法?
答案 0 :(得分:33)
文件存储在$ _FILES中,而不是$ _POST
http://php.net/manual/en/reserved.variables.files.php $ _FILES变量
http://www.php.net/manual/en/features.file-upload.php PHP文件上传手册。
处理文件(无错误检查):
$ROOT = "/path/to/store/files";
foreach($_FILES as $file => $details)
{ // Move each file from its temp directory to $ROOT
$temp = $details['tmp_name'];
$target = $details['name'];
move_uploaded_file($temp, $ROOT.'/'.$target);
}
有关更多示例,另请参阅http://www.php.net/manual/en/function.move-uploaded-file.php。
答案 1 :(得分:0)
实际上,如果你尝试使用Firefox(> 13),你可以获得发布的值。但是,如果您使用的是Chrome或Safari,则无法获得发布值。我认为它与浏览器有关。