Tiny problems:
During an upload, PHP stores the file in the temp directory, under a random (temporary) filename.
- How would you find out which of the random files is 'your' file?
- Most filesystems buffer the disk-writes, so it may well be that the filesize on disk remains zero untill the upload is completed.
As long as we're doing things the hard way, how about writing your own little php-file-upload script?
PHP can listen on sockets (or be started by the inetd on unix when a connection is made).
Then you could tell your upload form to post to that 'server' and you'd use PHP so receive the data. Then you'd get the full header so you know the filenames etc, and you'd get the data so you can tell the progress.