09-11-2019, 03:21 AM
(This post was last modified: 09-16-2019, 06:06 AM by mandiatutti.)
hi everyone! I have a profile view in which you can change the profile picture. I'd like to create this behaviour:
- The relative pic path will be saved in the user table under the avatar column,
- The actual picture will be saved on the server in assets/profiles folder
So i read the tutorial, and I have some problem making the folder writable apparently (I'm on mac)
This code is always returning me that is not writable, but on terminal i have these permissions on the folder: drwxrwxrwx, which I obtained with chmod 777 profiles/
But let's go on... This is my form:
This is my controller:
Now, I know that it's not doing what I want (yet), since I'm firstly trying to upload the picture... Later I'll think of storing the path in my table, and deleting the old profile pic, but I think I'm capable of thing it... The problem is uploading the damn picture xD
UPDATE: I keep getting a message 'The upload path does not appear to be valid.' But according to my computer I have permissions... Could it be a problem related to docker or lamp server?
- The relative pic path will be saved in the user table under the avatar column,
- The actual picture will be saved on the server in assets/profiles folder
So i read the tutorial, and I have some problem making the folder writable apparently (I'm on mac)
PHP Code:
<?php if(is_writable(base_url('assets/profiles'))){
echo 'writable';
}
else { echo (base_url('assets/profiles'). ' ' ."is not writable");} ?>
But let's go on... This is my form:
PHP Code:
<div class="file btn btn-lg btn-primary">
Change photo
<?php echo form_open_multipart('pages/do_upload');?>
<input type="file" name="avatar"/>
<input type="submit" value="upload"/>
</div>
This is my controller:
PHP Code:
public function do_upload()
{
$image_path = realpath(APPPATH . '.uploaded');
$config['upload_path'] = $image_path;
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = 10000000000;
$config['max_width'] = 1920;
$config['max_height'] = 1080;
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('userfile'))
{
$error = array('error' => $this->upload->display_errors());
$this->load->view('user/profile/profile', $error);
}
else
{
$data = array('upload_data' => $this->upload->data());
$this->load->view('upload_success', $data);
}
}
Now, I know that it's not doing what I want (yet), since I'm firstly trying to upload the picture... Later I'll think of storing the path in my table, and deleting the old profile pic, but I think I'm capable of thing it... The problem is uploading the damn picture xD
UPDATE: I keep getting a message 'The upload path does not appear to be valid.' But according to my computer I have permissions... Could it be a problem related to docker or lamp server?