• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Problem uploading picture

#1
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)
PHP Code:
<?php if(is_writable(base_url('assets/profiles'))){
    echo 'writable';
}
else { 
echo  (base_url('assets/profiles'). ' ' ."is not writable");} ?>
 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: 
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()
    {
        
$config['upload_path'] = './assets/images/profiles';
        
$config['allowed_types'] = 'gif|jpg|png'
        
$config['max_size'] = 10000;
        
$config['max_width'] = 1024
        
$config['max_height'] = 768;

        
$this->load->library('upload'$config); 
        
        
$data = array('upload_data' => $this->upload->data());
        
var_dump($data);
        
$this->load->view('profile'$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? 
Reply

#2
Try adding the forward slash to the end of the upload path.

PHP Code:
// change this
$config['upload_path'] = './assets/images/profiles';

// to this
$config['upload_path'] = './assets/images/profiles/'

See if the works.

If not check your upload path that it is correct.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply

#3
(09-11-2019, 08:14 AM)InsiteFX Wrote: Try adding the forward slash to the end of the upload path.

PHP Code:
// change this
$config['upload_path'] = './assets/images/profiles';

// to this
$config['upload_path'] = './assets/images/profiles/'

See if the works.

If not check your upload path that it is correct.
I made it even simpler... I changed my path in './uploads/' (as in codeigniter tutorial) but nothing... Moreover i created that folder with the command 'mkdir 777 uploads'. Still not working tho... Can it be related to .htaccess file?
Reply

#4
Could be but I use an assets folder under my public_html and have no problems
accessing it.
What did you Try? What did you Get? What did you Expect?

Joined CodeIgniter Community 2009.  ( Skype: insitfx )
Reply

#5
(09-11-2019, 03:21 AM)mandiatutti Wrote:
PHP Code:
<?php if(is_writable(base_url('assets/profiles'))){
    echo 'writable';
}
else { 
echo  (base_url('assets/profiles'). ' ' ."is not writable");} ?>
 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/

is_writable check if a local file or a directory is writable but you pass an URL! Don't use base_url, pass the path to the local directory.
Test your translation files with Translation Tester
Reply


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2019 MyBB Group.