1 от iframe это не зависит: move_uploaded_file выполняется на сервере
2 заливай яваскриптом, а не фреймами.
3 код - явный копипаст
4 переименовывать файл в md5 нельзя - легко предугадать и проэксалуатировать при наличии lfi (да, время подбирается, а к тому же его может светить сервер в заголовках). Php сам заботится об именовании: tmp_name и есть безопасное имя (если для его генерации используется безопасный prg).
5 файл имеет имя tmp_name, name - это имя из заголовков.
Откуда вы такие берётесь? Нельзя не читать
документацию.