Deberías poner el código que usas .. pero, desde ya te comento que el ambito (scope) de las variables no es global en funciones.
Si dices que estás haciendo un "upload" .. tal vez estés recogiendo tus variables del archivo y otras por $HTTP_POST_FILES y similares (o lo estás asumiendo como globales $... ) el caso es que estas variabels NO son gloables .. así que debes de declararlas como globales en tu función o pasarselas como parámetro a la función.
Si usases los arrays supergloables $_FILES .. ($_POST .. etc) no tendrías problemas (con esas variables) pues ya son globales de por sí (no es necesario declararas como globales o de pasarlas como parámetro si no lo deseas)..
Te recomiendo leas este capítulo del manual oficial de PHP:
http://www.php.net/manual/en/languag...bles.scope.php
Un saludo,