$ _FILES数据始终为null

时间:2011-03-24 23:03:00

标签: php post file-upload file

我正在尝试发布PNG图片。这是我的代码。

<form action="http://killprashanth.res.cmu.edu/index.php/main/post"  enctype="multipart/form-data" method="post" accept-charset="utf-8"> 
<div class="hidden"> 
 <input type="hidden" name="userid" value="" /> 
 <input type="hidden" name="thread" value="" /> 
</div>
<label for="text">Message text:</label>
<textarea name="text" cols="90" rows="12" ></textarea><br>
<table>
 <tr>
  <td style="width: 40%;">
   <label for="file">Image (optional):</label>
   <input type="file" name="file" value=""  />
  </td>
  <td style="width: 60%;">
   <input type="submit" name="submit" value="send" onclick="reload()" />
  </td>
 </tr>
</table>
</form>

public function post()
{
        move_uploaded_file($_FILES["file"]["tmp_name"], '/uploads'.$_FILES["file"]["name"]);

        $data = array(
                'userid' => $_POST['userid'],
                'thread' => $_POST['thread'],
                'text' => $_POST['text'],
                'image' => $_FILES["file"]["name"]
        );

        $this->db->insert('messages', $data);
}

在我的数据库中,除了image(一个varchar)以外,一切正常。

1 个答案:

答案 0 :(得分:0)

尝试删除:

onclick="reload()"

看看它现在是否有效。这可能会破坏文件上传(在提交表单之前运行“重新加载”)。

如果您想重新加载页面而不是实际进入发布的页面,您可能需要通过AJAX查看POST。