Codeigniter 3- You haven't selected a file to download
Post_plot.php (This is my submission form)
<form action="http://localhost:8080/ci/admin/plot/do_upload" enctype="multipart/form-data" method="post">
<input type="text" name="property_title" value="" />
<input type="file" name="img" id="plot-img" value="" />
<input type="submit" name="submit" value="Submit" />
</form>
I have a long form with the ability to upload images.
I am using do_upload function to upload a file
I am getting the following error
Array ( [name] => a.jpg [type] => image/jpeg [tmp_name] => C:\xampp\tmp\phpBD75.tmp [error] => 0 [size] => 132277 ) Array ( [error] =>
You did not select a file to upload.
)
Plot.php controller
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Plot extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->library('Admin_layout');
$this->load->model('admin/plot_model');
$this->config->load('plot_rules');
$this->output->enable_profiler(TRUE);
}
public function do_upload()
{
$config['upload_path'] = '../images/';
$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($img))
{
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
else
{
$data = array('upload_data' => $this->upload->data());
//$this->load->view('upload_success', $data);
print_r($data);
}
}//do_upload
}//class
Should I pass any parameters to do_upload?
+3
source to share
1 answer
In this part, try to put
$img = "img" // input name="img"
$this->upload->do_upload($img)
If not try / test with a form action="http://localhost:8080/ci/admin/plot/do_upload"
Codeigniter 2 User Guide http://www.codeigniter.com/userguide2/libraries/file_uploading.html
Codeigniter 3 User Guide http://www.codeigniter.com/user_guide/libraries/file_uploading.html?highlight=file%20upload
You may need to set multiple routes in your route. php
code
<?php defined('BASEPATH') OR exit('No direct script access allowed');
class Plot extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->library('Admin_layout');
$this->load->model('admin/plot_model');
$this->config->load('plot_rules');
$this->output->enable_profiler(TRUE);
}
public function index() {
$this->load->view('upload_form', array('error' => ' ' ));
}
public function do_upload()
{
$config['upload_path'] = './images/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 100;
$config['max_width'] = 1024;
$config['max_height'] = 768;
$this->load->library('upload', $config);
$img = "img";
if ( ! $this->upload->do_upload($img))
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
print_r($error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$field_data = $this->upload->data();
echo $field_data['file_name']; // etc
$this->load->view('upload_success', $data);
print_r($data);
}
}
}
+4
source to share