WordPress Error: The Uploaded File Could Not Be Moved

WordPress | Updated March 2026

The "uploaded file could not be moved to" error in WordPress occurs after a file uploads successfully to the temp directory but can't be moved to its final location in wp-content/uploads/. The root cause is almost always a file permission or ownership problem on the uploads directory.

Quick Fix

Fix permissions on the uploads directory via SSH: chmod -R 755 ~/public_html/wp-content/uploads/ and ensure ownership is correct: chown -R username:username ~/public_html/wp-content/uploads/. Replace username with your cPanel username.

01. What Causes This Error

WordPress uploads happen in two stages. First, PHP writes the file to a temporary directory. Second, WordPress moves it from temp to the final location in wp-content/uploads/YYYY/MM/. This error means stage one succeeded but stage two failed.

The most common reasons:

Permissions too restrictive - The uploads directory or a year/month subdirectory has permissions set to 700 or lower, preventing the web server from writing.

Wrong ownership - Files restored from a backup or transferred from another server may be owned by a different user. The web server can't write to directories owned by another account.

Disk quota reached - The cPanel account has hit its disk space or inode limit.

02. Fixing Permissions

# Set directories to 755 and files to 644 recursively
find ~/public_html/wp-content/uploads/ -type d -exec chmod 755 {} \;
find ~/public_html/wp-content/uploads/ -type f -exec chmod 644 {} \;

Or through cPanel's File Manager: navigate to wp-content/uploads/, right-click, select "Change Permissions," set to 755, and check "Recurse into subdirectories" if available.

03. Fixing Ownership

# Fix ownership to your cPanel user
chown -R username:username ~/public_html/wp-content/uploads/

If you don't have SSH access, you can fix ownership through File Manager by creating a new folder, which will automatically have the correct ownership, and then moving your files into it.

04. Check Disk Space

If permissions and ownership look correct, check whether your account has hit its disk or inode limit:

# Check disk usage vs quota
quota -s

# Check inode count
df -i ~

If you're at or near your limit, you'll need to free up space before uploads will work again. See our disk space management guide for tips on cleaning up.

For the related "Unable to create directory" error, see our uploads directory guide. For the "Missing a temporary folder" error, see our temporary folder guide.

Uploads Still Failing?

If permissions, ownership, and disk space all look correct, open a support ticket. There may be a PHP open_basedir restriction or ModSecurity rule interfering with the upload.

Open a Support Ticket

Quick Recap: File Could Not Be Moved

  1. Set directory permissions to 755 - All directories under wp-content/uploads/
  2. Set file permissions to 644 - All files under wp-content/uploads/
  3. Fix ownership - Must be owned by your cPanel username
  4. Check disk quota - Make sure you haven't hit your space or inode limit
  5. Contact support - If all of the above checks out, there may be a server-side restriction

Last updated March 2026 · Browse all WordPress articles

  • 2 Users Found This Useful

Was this answer helpful?

Related Articles

WordPress Site Search

WordPress | Updated 2026 WordPress includes a built-in site search that lets visitors find...

504 Error - Are You Sure You Want to Do This?

WordPress | Updated March 2026 The "Are you sure you want to do this?" message in WordPress...

Blocked by Jetpack

WordPress | Updated March 2026 If Jetpack is blocking your access to your own WordPress site,...

Plugins on WordPress

WordPress | Updated 2026 WordPress plugins extend your site's functionality. You can install...

Optimize WordPress Performance

WordPress Knowledgebase | Updated 2026 Your WordPress site deserves to load fast. Ultra Web...



Save 30% on web hosting - Use coupon code Hosting30