Hola
$archivo_name = $_FILES['$imagen']['name'];
Ahi está buscando el indice '$imagen', que no creo que sea lo que quieras. Las comitas simplen no interponal. Lo que puedes hacer es a) usar "comillas dobles", o b) (mejor) no usar nada
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
Algo asi:
$archivo_name = $_FILES[$imagen]['name'];
Saludos.