Hey Matt, David
Cheers for the reply,
I have actually found what the issue is,
For anyone having the same problem it is to do with the request engine. You need to add $oauth->setRequestEngine( OAUTH_REQENGINE_CURL );
However, as I have come find there can also be issues with the request engne curl not being added during the installation of PHP Oauth. If you echo out phpInfo(); and look for Oauth you'll see the available request engines.
If you do not see curl as an optional engine then you haven't got it
Here is a link I found on how to fix it,
http://www.davidogilo.co.uk/technical/how-to-fix-oauth_reqengine_curl-is-undefined/I cant confirm it works yet as I'm currently waiting for my server guys to sort it out. I can confirm that the problem is with the request engne as I have tested it on localhost by changing the request engine to $oauth->setRequestEngine( OAUTH_REQENGINE_STREAMS ); and I receive the exact same error. When I change the request engine to curl the upload works fine.
I'll confirm once I they have got around to it.
cheers,
Marty