puedes pasarle un
array a la función (internamente debes de manejar la función como si esperase un array)
puedes usar
func_get_args para devlver los parámetros de la funcion en un array, así obtienes el funcionamiento de multi-parámetros como sprintf:
function(param1, param2,...param
N)
NOTA: $HTTP_POST_FILES está obsoleto, usa
$_FILES