Si no me equivoco, en la linea que te mencioné
Código PHP:
Ver originalforeach ($_FILES["foto"]["error"] as $key => $error) {
le estas diciendo al programa que cada vez que exista un error, se ejecuta el código dentro del bucle, hasta ahí creo que es un error, y creo que todavia falta uno, te recomiendo que leas esta parte del Manual de PHP que trata sobre como subir archivos mediante PHP, estos te dicen como manejar cada parametro de la función $_FILE en PHP.
http://www.forosdelweb.com/wiki/Manual_de_PHP:_Subiendo_archivos_al_servidor_con_P HP
y aquí otro
http://www.w3schools.com/php/php_file_upload.asp
ahi veras que el parametro "error" dentro de esta parte de código,
, te devuelve un TRUE ó 1 cada vez que ocurre un error al subir los archivos.
Ya si no logras resolver el error por ti mismo, puedes ver como funciona el código para subir archivos que hay en este link
http://www.cristalab.com/tutoriales/subir-multiples-archivos-con-php-c32381l/