moovok: if you’re using supanames, I seem to remember they have no default upload directory in their php.ini for each server. You have to set it in your control panel by going to advanced->php settings and then selecting upload_tmp_dir. You will first need to create a write-enabled folder somewhere in your site root – the ‘/tmp’ suggested earlier here should work. I can’t yet verify this as working as it can take up to 12 hours for the change to go through but I don’t see why not.
Just a thought for everyone else who can’t access php.ini and doesn’t have shell access – maybe you can try and set the ini value upload_tmp_dir using the php command @ini_set('upload_tmp_dir','/path/to/tmp');
using danoph’s suggestion to find your current working directory path. Instead of putting it in the file.php you can try to put it in the wp-settings.php file in the wordpress root. This may not work, however, if your host, like supanames, has no value set in the php.ini for upload_tmp_dir or doesn’t allow scripts to alter this value. Still, it maybe that there’s another way in the host’s control panel to set this value – for that you’d have to contact your own support I’d guess.
finally, don’t forget you can check the current value of upload_tmp_dir in several ways but a simple php file containing the following script should tell you all you need to know:
<?php
var_dump(ini_get('upload_tmp_dir'));
?>
note: if it returns bool(false) it means upload_tmp_dir has no value.