you could use php's ability to chmod directories as it goes, ie chmod the dir, then upload the file, then chmod it back to normal.
Then there is only a short period of time when the directory is all read and all write.
Whilst I haven't tried this myself, it sounds like it would work.
<?
chmod ($dirpath, 0777); / Should chmod the directory /
?>
then chmod it back