How to upload image in CodeIgniter?

后端 未结 7 1150
天涯浪人
天涯浪人 2020-11-30 13:56

In view

 
 

In con

7条回答
  •  南方客
    南方客 (楼主)
    2020-11-30 14:08

    It seems the problem is you send the form request to welcome/do_upload, and call the Welcome::do_upload() method in another one by $this->do_upload().

    Hence when you call the $this->do_upload(); within your second method, the $_FILES array would be empty.

    And that's why var_dump($data['upload_data']); returns NULL.

    If you want to upload the file from welcome/second_method, send the form request to the welcome/second_method where you call $this->do_upload();.

    Then change the form helper function (within the View) as follows1:

    // Change the 'second_method' to your method name
    echo form_open_multipart('welcome/second_method');
    

    File Uploading with CodeIgniter

    CodeIgniter has documented the Uploading process very well, by using the File Uploading library.

    You could take a look at the sample code in the user guide; And also, in order to get a better understanding of the uploading configs, Check the Config items Explanation section at the end of the manual page.

    Also there are couple of articles/samples about the file uploading in CodeIgniter, you might want to consider:

    • http://code.tutsplus.com/tutorials/how-to-upload-files-with-codeigniter-and-ajax--net-21684
    • http://runnable.com/UhIc93EfFJEMAADX/how-to-upload-file-in-codeigniter
    • http://jamshidhashimi.com/image-upload-with-codeigniter-2/
    • http://code.tutsplus.com/tutorials/how-to-upload-files-with-codeigniter-and-ajax--net-21684
    • http://hashem.ir/CodeIgniter/libraries/file_uploading.html (CodeIgniter 3.0-dev User Guide)

    Just as a side-note: Make sure that you've loaded the url and form helper functions before using the CodeIgniter sample code:

    // Load the helper files within the Controller
    $this->load->helper('form');
    $this->load->helper('url');
    

    1. The form must be "multipart" type for file uploading. Hence you should use form_open_multipart() helper function which returns:

提交回复
热议问题