Some more info on this subject:
On SilverStripe 2.4, please see the following files:
- cms/code/AssetAdmin.php Line 224
There is a check for open_basedir, and if it is set, the uploaded files are moved to SilverStripe's temp directory (no longer system temp).
- sapphire/filesystem/Upload.php Line 464
There is the following code "!is_uploaded_file($this->tmpFile['tmp_name'])". As some people may be aware, "is_uploaded_file()" checks to see if the uploaded file is the system temp directory. Obviously this will fail because of the open_basedir code above.
It's definitely a bug in SilverStripe and should be fixed.
Anybody want to open a bug report?