CI 上传文件演示不起作用


CI upload file demo not working?

当我尝试使上传文件演示工作时,我正在为我的服务器使用 codeigniter 2.2.6(我是 CI 的新手),但当我单击提交按钮时没有任何反应。

这是我遵循的用户指南:

文件上传类

视图文件:

<html>
<head>
<title>Upload Form</title>
</head>
<body>
<?php echo $error;?>
<?php echo form_open_multipart('upload/do_upload');?>
<input type="file" name="userfile" size="20" />
<br /><br />
<input type="submit" value="upload" />
</form>
</body>
</html>

控制器:

<?php
class Upload extends CI_Controller {
    function __construct() {
        parent::__construct ();
        $this->load->helper ( array (
                'form',
                'url' 
        ) );
    }
    function index() {
        echo CI_VERSION;
        $this->load->view ( 'upload_form', array (
                'error' => ' ' 
        ) );
    }
    function do_upload() {
        $config ['upload_path'] = './uploads/';
        $config ['allowed_types'] = 'gif|jpg|png';
        $config ['max_size'] = '100';
        $config ['max_width'] = '1024';
        $config ['max_height'] = '768';
        $this->load->library ( 'upload', $config );
        echo "step 1";
        if (! $this->upload->do_upload ()) {
            echo "step 2";
            $error = array (
                    'error' => $this->upload->display_errors () 
            );
            $this->load->view ( 'upload_form', $error );
        } else {
            echo "step 3";
            $data = array (
                    'upload_data' => $this->upload->data () 
            );
            $this->load->view ( 'upload_success', $data );
        }
    }
}
?>

我可以看到浏览和提交按钮,选择文件后,文件名正确显示,但是当我单击提交时,没有任何反应,看起来没有处理提交单击。

如您所见,我设置了 3 个回显"步骤"来遵循流程,但没有一个被打印出来,我不知道为什么。

谁能帮忙? 请解释一下按钮点击处理背后的逻辑。

问题是操作 url 不正确。

<form enctype="multipart/form-data" accept-charset="utf-8" method="post" action="http://::1/upload/do_upload"> 
    <input type="file" size="20" name="userfile"> <br> <br>
     <input type="submit" value="upload">
 </form>

这似乎与我为删除索引所做的工作有关.php在网站网址中,我有

$config['base_url'] = '';

这使得操作 URL 成为

http://::1/upload/do_upload

这使得演示不起作用,解决方案是手动添加正确的操作 URL。