Laravel uploading file Unable to write in directory

45,693

Solution 1

chmod 755 /var/www/html/public/system and chown www-data:www-data /var/www/html/public/system as stated by @JLPuro works perfectly. Thanks a lot guys.

Solution 2

permission for folder sudo chmod 777./(folder name)

for file sudo chmod 777 -R ./(file name)

Solution 3

if you are using Centos-7 Then use

sudo find directory_name -type f -exec chmod 644 {} \;
sudo find directory_name -type d -exec chmod 775 {} \;

sudo chown -R apache:apache var/www/html/directory_name
chcon -R -t httpd_sys_rw_content_t directory_name

Where directory_name is the main directory of you Project.

Share:
45,693
user3714932
Author by

user3714932

Updated on July 30, 2022

Comments

  • user3714932
    user3714932 over 1 year

    I'm uploading files in my system and it works locally where am using windows and xampp but when hosting where am using an Ubuntu stack my file is not being uploaded. I'm getting an error that it cannot be written in the 'system' directory which is within the public folder. This is my code

     $destinationPath = public_path().'/system'; // upload path
      $extension = Request::file('add_students')->getClientOriginalExtension(); // getting excel extension
      // dd($extension);
      $fileName = rand(11111,99999).'.'.$extension; // renameing excel file
      $file=Request::file('add_students')->move($destinationPath, $fileName); // uploading file to given path
      $path=$file->getRealPath();
    

    after looking for solutions I found out that I should make my directory writable so I ran the following command in putty

    chmod 770 /var/www/html/public/system

    but still even after that am getting an error Unable to write in the "/var/www/html/public/system" directory.

    I'm using laravel 5 and my host is digital ocean. Thanks

  • andromeda
    andromeda over 6 years
    One might want to add -R flag to do this recursively. Didn't work for me until I added the flag. chown -R www-data:www-data /path/to/dir
  • Saddan
    Saddan over 3 years
    This will be disaster, don't use 777 please .This gives permission to everyone read, write even delete. This command actually feed a hacker by you.