Support » Fixing WordPress » Can't upload images!

  • Hi there all, I’ve been working with wordpress as a cms for the past year and a half now and I’m quite familiar with the ins and outs. I just moved a site within the domain (removing it from a folder called ‘new’ while it was being built to the root) and since I’ve moved it over I can’t upload images.

    I have trawled the forum and most issues are related to permissions/privileges which I have tried and tried again using 755 /777 and every combination on nearly all related files.

    I’ve also gone into phpMyAdmin and checked the upload directory there and it is set to wp-content/uploads as it should be. Still any time I try and upload an image I get this message:

    Unable to create directory /wp-content/uploads/2009/10. Is its parent directory writable by the server?

    Is the fact that it’s trying to write to 2009 rather than 2010 an issue? any help on this would be hugely appreciated, I’m really stumped!



Viewing 11 replies - 1 through 11 (of 11 total)
  • I am having this exact same problem! Any breakthroughs?

    Nada. What version of wordpress are you running?


    I can put images into posts from an ftp link, but I cannot upload anything 🙁

    Same exact issue. Exact. Tried the same things you have, and as far as I can see I have permission. I moved the site to the root directory, and all uploads of images became impossible; meanwhile, everything else, it seems so far at least, works. Hours and hours looking for a setting that would resolve this, but I’ve not found anything. Version 3.01. I did put in a full URL on Settings, Media, without the date folders being checked (done this both ways) so they would just go to the Uploads folder, and then the “writeable to the server?” issue stops. What it says then is simply “an error occurred in saving the file.” No file. I’ve deleted the folder and recreated the folder,changed the folder and the URL to the new folder location. No change. I can’t upload a new header file either; same issue. Personally, while I’m not an expert on servers or PHP or WordPRess or whatever, the source of this problem was the move. Something is out of whack and I can’t discover what.

    Gone through a lot of the same steps as you hawkeye and still nothin’ doin’. I’ve also tried changing the write directory from within phpMyAdmin and creating a new directory from there but it won’t allow it. It’s beginning to worry me as I have no idea where to look next? Any help on this would be hugely appreciated…

    Patrick, searching Google, just now, on assigning permissions, 766 permissions, and one post says there is a difference betwween Linux and Windows servers, and to make recursive permission using chmod, but this is on the level of Greek to me. I need to get an answer on this that I can implement and get working. Otherwise, I’m going to go back and not put WP in the root, but in a directory, where everything worked previously, but I really don’t want to do that. If I get anything useful I’ll post, and please do the same. thanks, Don


    Here is a another post area I found through Google.

    At the bottom is a post that has a plugin to change permissions.

    “Since your hoster is try the plugin from Sven Kubiak “Change Uploaded File Permissions”

    FYI, not my host, but I’m going to check it out and see what is what.

    Patrick, well, that file is in German, but I had Google translate it into English, and sort of looked promising. However, in going back to my blog, guess what – the whole thing crashed. Gone. Theme gone, pages gone, kaput. So, I’m starting from scratch. However, if you get a resolution or any help, regardless, let me know. Thanks, Don

    I have the same problem and it is driving me nuts. I’ve gone through all the permission changing, even going so far as deleting and reinstalling WP from scratch. Removing all plugins, default template, default location for files, everything that was suggested. I keep thinking some new thing I try will fix the problem but no luck.

    The one trick that I can’t implement that might make a difference seems to be finding out who is the “owner” of the directory uploads and wp-content. I set up the database. I have myself all permissions.
    I have access to phpMyadmin but I don’t know if that will let me look at owners of directories. My FTP client tools just gives me a number but no name. If it did give me a name I don’t know how to change it (or if I would be allowed, it’s on a shared hosting platform).

    In my research I see that this same problem has been troubling WordPress and users for YEARS. I’m trying to move off Blogger because they got rid of FTP support. Maybe WordPress isn’t the right solution. 🙁

    Success! I got the upload image problem fixed!!!!

    I wanted to come back to this forum and pass on what I learned to Patrick and Hawkeye and people in the future who have the same problem.

    In my case the problem had to do with ownership of the folders where the images were to be uploaded. I found a great explanation of the problem here
    In many of the previous solutions people fixed the problem with changes of permissions, but what they didn’t address was the issue of the ownership and differences of an FTP owner changing permissions and an http owner changing permission. Read on because the following author says it better:

    WordPress: The uploaded file could not be moved

    One of the most common errors after installing WordPress on your hosting account is the “The uploaded file could not be moved” error when trying to upload a file. Typically the error message looks like this:
    The uploaded file could not be moved to /var/www/vhosts/

    This is a common error due to permissions. I got this error fixing a WordPress instalation on another host which, will remain unnamed, for a treasonist family member who does not use ServerGrove, who will also remain unnamed. I did some research and while reading the solutions out there I was amazed to see the amount of posts asking people to chmod 777 their entire wp-content and wp-content/upload directory. Let me say this once: it’s never a good solution to chmod 777 an entire directory.

    Let’s analyze the problem to better understand what’s going on. When you create directories either via FTP or via some other method, the directory is owned by the user that created that directory. So when you upload your WordPress via FTP the directories are owned by your user. Then when we try to upload images via the WordPress admin we are uploading via a web page we are actually uploading via http, and items uploaded through http are owned by the Apache user, master of http. So when the Apache user tried to put a file in the folder owned by your user, Linux steps in and notes there is a permission problem. You cannot put content into a directory owned by another user and spits back the error:
    The uploaded file could not be moved to /var/www/vhosts/
    So, the question rises, why does this happen on some hosts and does not happen on other hosting companies like ServerGrove? Well for one, we are wise, and know that permissions errors are very common and easily avoidable (kind of like acne). The solution lies in the way your shared hosting server is setup, some hosting companies slap the default installations and other wiser ones spend their waking hours fine tuning the servers and making them perform faster and work better for their clients. Our servers are configured so Apache runs as the same user as your user (a different one for each website), this means that your user and Apache are the same which makes everyone’s life easier.

    I went to my server host and armed with this information asked him if he could fix it. He did. He is the owner of Ctyme Hosting (not ServerGrove which sounds like a good host) but he was very responsive and made the changes I could not make that had to do with ownership and permissions.
    Good luck to all. I hope that this also helps people in the future with the same problem.

Viewing 11 replies - 1 through 11 (of 11 total)
  • The topic ‘Can't upload images!’ is closed to new replies.