1

这是我第一次使用 codeigniter 来构建我的学校项目。

让我直接走。

我可以得到我的 POST 请求,除了 form_upload();

这是我的示例表格:

<?php
echo form_open('admin/test_upload');
    echo form_input(array('name' => 'title'));?><br/><?
    echo form_upload(array('name' => 'file'));
    echo form_submit(array('name' => 'submit', 'value' => 'submit'));
echo form_close();
?>

这是我的控制器:

function test_upload(){
    $data['header'] = "TEST UPLOAD";
    var_dump($_POST) ; //basically, this is function echoes back the post array.
    $this->load->view('admin/dashboard_view', $data);
}

这是输出

array(2) {
["title"]=>
string(3) "asd"
["submit"]=>
string(6) "submit"
}

//The ["file"] is missing.... wHAT!?>

有人可以帮我吗?

4

2 回答 2

2

文件上传需要有一个enctype="multipart/form-data"表单标签,所以你应该使用它来打开表单:

echo form_open_multipart('admin/test_upload');

此外,正如其他人所提到的,上传的文件将在$_FILES而不是$_POST.

于 2012-08-14T13:45:33.497 回答
1

您正在寻找错误的超全局 ( $_POST)。检查$_FILES并确保表单enctype是“多部分/数据”。

于 2012-08-14T13:47:09.257 回答