Reputation: 3255
I want to upload a file using a registration form. I used File_Upload library of Codeigniter. But the file does not upload to the destination and no errors appears. This is just part of my code (All of them are really huge)
Controller (seeker_register.php):
public function submit(){
...
$this->load->model('mseeker_register');
$user_id = $this->mseeker_register->register($data);
View (vseeker_register.php):
$attr = array("class" => 'form-horizontal seeker_register','id' => 'form-seeker-register');
echo form_open_multipart('seeker_register/submit',$attr);
...
<div class="col-sm-6 col-sm-offset-3">
<input name="Aks" type="file" class="fileinput" accept=".jpg, .jpeg">
</div>
Model (mseeker_register.php):
...
// Prepare Aks
$config = array(
'upload_path' => './img/users',
'allowed_types' => 'jpg|jpeg|JPG|JPEG',
'max_size' => '200',
'max_width' => '1024',
'max_height' => '768');
$this->upload->initialize($config);
$this->upload->do_upload('Aks');
$this->upload->display_errors();
exit();
...
This is $this->upload->data() output:
Array
(
[file_name] => Clipboard-2.jpg
[file_type] => image/jpeg
[file_path] => D:/khayyamkar.ir/www/img/users/
[full_path] => D:/khayyamkar.ir/www/img/users/Clipboard-2.jpg
[raw_name] => Clipboard-2
[orig_name] =>
[client_name] => Clipboard-2.jpg
[file_ext] => .jpg
[file_size] => 156.42
[is_image] => 1
[image_width] =>
[image_height] =>
[image_type] =>
[image_size_str] =>
)
Upvotes: 2
Views: 366
Reputation: 456
When I scanned your code I realized that you you don't have a way to view the error(s).
To view what the error(s) are/is you need to use var_dump()
or print_r()
php method to view what are the error(s).
for example:
var_dump($this->upload->display_errors());
in your current code you need to change :
$this->upload->display_errors();
exit();
TO:
var_dump($this->upload->display_errors());
exit();
You need to identify the error first to come up with a solution.
:)
Upvotes: 3
Reputation: 2800
public function register() {
$config = array(
'upload_path' => './img/user',
'allowed_types' => 'jpg|jpeg|JPG|JPEG|png',
'max_size' => '200',
'max_width' => '1024',
'max_height' => '768');
$this->upload->initialize($config);
// you need to make sure that the upload path is existing
// and also check the folder permission to be rwxr-xr-x
// if you installed in a server where permission is required
// for you to create image inside the folder
// create a folder img/user in the root directory of the project
// where application or system located
// this will check
if ($this->upload->do_upload('Aks')) {
echo 'success'; die;
} else {
var_dump($this->upload->display_errors());die;
}
}
Upvotes: 2