Question

Wordpress: The uploaded file could not be moved to wp-content/uploads/

Hey guys, I’m having an issue with not being able to upload media onto the wordpress site. Plugins update and install normally, but if i try to upload a pic for a post, it gives me the error “The uploaded file could not be moved to wp-content/uploads/2016/03/”. I checked to make sure that www-data has access over my website root folder. I did the same with my FTP user. I even changed wp-content and uploads perms to 777. Nothing works. If you have a solution, it would be appreciated.

Show comments

Submit an answer


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Accepted Answer

|Solution!| So basically after having a head-ache with permissions and ownership, I came across the final solution. I have a secure ftp user called ‘wp-user’ which I got from the tutorial here a while back. Apparently the fix is very simple, and it’s not a permissions issue.

During the set up process you define FTP Components in wp-config with the following lines:

define('FTP_PUBKEY','/home/wp-user/wp_rsa.pub');
define('FTP_PRIKEY','/home/wp-user/wp_rsa');
define('FTP_USER','wp-user');
define('FTP_PASS','');
define('FTP_HOST','127.0.0.1:22');

All you have to do is move those lines above the line which says:

/* That's all, stop editing! Happy blogging. */

Apparently the media uploader freaks out when the FTP Components are below that line, despite the plugin updater working fine. Hope this helps anyone who had this similar issue.

Apply this command

sudo chown -R www-data <path>/wp-content/uploads

You need to give permission to Php to write in this folder.

Oh! Thanks this is the only solution

  1. Go to terminal
  2. Login and enter this command
sudo chown -R www-data /var/www/html/wp-content/uploads

that’s it :}

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more