Pero .. te leistes la documentación de move_uploaded_file()? .. el primer parámetro dice o indica donde está tu archivo de orignen y el segundo a donde vas a moverlo.
sería al reves:
Código PHP:
move_uploaded_file($_FILES['imagen']['tmp_name'],"diario/imagenes/".$_FILES['imagen']['name']);
Suponiendo que diario/imagenes esté ese directorio bajo el script que haces el move_uploaded_file() .. la rua "destino" ha de ser absoluta a ser posible y como parte de la ruta estará el nombre del archivo (el que tenía originalmente . .o como veras podrías cambiarlo por otro). La ruta y nombre del archivo origine es la que dá PHP en su $_FILES['imagen']['tmp_name'] .. pues, PHP le dá un nombre y ruta especifica temporal a todo archivo que sube por HTTP como lo estás haciendo.
Un saludo,