A directory being writable is not simply a matter of permissions.
First, the path has to be correct, the default path given in the “File Upload Location” may not be correct for your install. I can’t tell you what the correct path should be, but looking at the path that is used for other uploads (such as media files) should give you an idea what the path should look like.
Second, php is checking to see if the path is writable, this means that if the path is correct and it still isn’t writable, the parent directory might not be writable. Whether a directory is writable or not also depends on ownership, so check to make sure the ownership of the directory (and its parent) is the same as for all of your other WP directories. Again, I can’t tell you what the correct setting is there, this will depend on the configuration of your server.
I had the same problem. Here is how I fixed it:
1. I signed into my hosting service’s website control panel.
2. I opened the provided file manager.
3. I created the folder that Participants Database was looking for:
/wp-content/uploads/participants-database
Note: No modification to the folder’s rights was required, since it’s inside the uploads folder, all of the required rights were inherited.
4. In the Participants Database settings, back in WordPress, I changed the File Upload Location to /wp-content/uploads/participants-database/
. Please note the starting forward slash, which was missing from the default setting. This could be a typo on the part of the developer?
5. After making the two changes described above, I tried uploading a picture as part of a new database entry and it worked flawlessly. However, I did have to increase the File Upload Limit size in Participants Database settings because my photo was bigger than 100 KB.
-
This reply was modified 3 weeks, 6 days ago by
DexterG. Reason: corrected formatting error
Thanks for your post, it’s helpful.
Creating the directory manually is sometimes necessary, really depends on your hosting and the configuration of your hosting server.
The leading forward slash on the File Upload Location setting is usually not needed, which is why that is the default.
That’s interesting. Why is a forward slash used by default on the setting for Default Image path? I used that path as an example of how to fix the upload path.
When I first opened Participants Database after installing the plugin, I was greeted by an error message across the top of the screen saying
The configured uploads directory “/home/215093915/domains/mydomainname.com/public_html/wp-content/uploads/participants-database/” for Participants Database is not writable.
I assumed that this meant that I needed to create the participants-database directory, although nowhere in the setup instructions was there any mention of this. Anyway, even after I created the directory, the error message remained unchanged until I added the forward slash to the File Upload Location path.
The plugin attempts to create the uploads directory, but if this doesn’t work, it needs to be done manually. In practice, this is pretty unusual, most server setups allow the WordPress application to create directories. The plugin posts a message if it can’t create the directory, so the admin will know they need to do that.
You’re right about the inconsistency of the path settings between the file upload path and the default image path, it could be confusing, so I’ll take a look at that.
The presence of the leading forward slash in most cases doesn’t matter because when the complete path (or URI) is constructed, the part of the path that goes before it should end in a slash, and usually does.
Adding the slash likely had the effect of forcing the plugin to re-check the directory.
I really appreciate your comments, I’m always looking for ways to improve the UI and help people get the plugin working.