By design PHP uses the temporary file as a staging area so that it can be sure that the entire file is present before it returns a result. Unfortunately there is no way to cause PHP to do this directly (that I know of).
The only way I can think to accomplish this would be to use a client side javascript to send a uuencoded version of the file as a POST variable. You could then recompose the file server side from the passed variable.
My suggestion is ugly, but I don't know if there is another way. Please, someone have a more elegant answer?