【问题标题】:codeigniter Image uploading errorcodeigniter 图片上传错误
【发布时间】:2019-02-02 16:05:49
【问题描述】:
public function getbasicinfo()
{
    if($this->form_validation->run('basicinfo')==TRUE) {
      $data=$this->input->post();

       $config = [
                'upload_path'   => 'assets/img/jobseeker',
                'allowed_types' => 'gif|jpg|png',
                'max_size'      => '10000',
                'max_width'     => '1024',
                'max_height'    => '768',
                'overwrite'     =>  TRUE,
               'encrypt_name'  =>  FALSE,
                'remove_spaces' =>  TRUE
        ];

        if ( ! is_dir($config['upload_path']) ) die("THE UPLOAD DIRECTORY DOES NOT EXIST");
        $this->load->library('upload', $config);

        if(! $this->upload->do_upload('image'))
        {
            $error = $this->upload->display_errors();
            $this->session->set_flashdata('image',$error);
                redirect('Jobseeker_profile/editbasicinfo');
        }
        $img = $this->upload->data();
        $data['image']=$img['file_name'].$id;
        $this->load->model('jobseeker_profilemodel','profile');              
        $query=$this->profile->basicinfo($data);
        if ($query==TRUE) {
            redirect('jobseeker/jobpreference');
        }

    }else{
        $this->load->view('jobseeker/editBasicInfoMyProfile');
   }    
}

使用上述方法上传图片时出现以下错误

致命错误:未捕获的错误:调用 C:\xampp\htdocs\Project\application\controllers\Jobseeker_profile.php:53 中为 null 的成员函数 do_upload() 堆栈跟踪:#0 C:\xampp\htdocs\ Project\system\core\CodeIgniter.php(360): Jobseeker_profile->getbasicinfo() #1 C:\xampp\htdocs\Project\index.php(202): require_once('C:\xampp\htdocs...' ) #2 {main} 在第 53 行的 C:\xampp\htdocs\Project\application\controllers\Jobseeker_profile.php 中抛出

【问题讨论】:

  • 你在哪里定义do_upload函数?

标签: php codeigniter-2


【解决方案1】:

您缺少do_upload 函数定义,此处已修复代码

这里是 HTML 示例代码

<html>
    <head>
    <title>Upload Form</title>
    </head>
    <body>

        <?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 代码

 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);

        if ( ! $this->upload->do_upload())
        {
            $error = array('error' => $this->upload->display_errors());

            $this->load->view('upload_form', $error);
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());

            $this->load->view('upload_success', $data);
        }
    }

这是do_upload函数的示例类结构,我想这将有助于你理解do_upload函数的定义

class Upload extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form', 'url'));
    }

    function index()
    {
        $this->load->view('upload_form', array('error' => ' ' ));
    }

【讨论】:

    猜你喜欢
    • 2017-10-04
    • 2019-01-02
    • 2013-01-11
    • 2017-05-28
    • 1970-01-01
    • 2019-04-27
    • 2013-08-23
    • 2011-06-08
    • 2012-01-22
    相关资源
    最近更新 更多