Tienes un follón con los if....
Puedes planteartelo así, simplificar código y seguramente aliminarás o encontarrás tu error:
Código PHP:
$error="";
if (empty ($nombre_archivo)){$error.="falta nombre<br>";}
if (empty ($error_subida==0)){$error.="error subida<br>";}
if (strpos($tipo_archivo, "gif" bla bla){$error.="tipo inciorrecto<br>";}
if ($tamano_archivo < 1024000){$error.="demasiado grande<br>";}
if($error<>""){
echo $error;
continue;
}
if (move_uploaded_file($_FILES['archivos']['tmp_name'][$i], $directorio.$fecha.$nombre_archivo)){
bla bla
Saludos.