no, si haces esto:
name='archivo[]';
name='archivo[]';
name='archivo[]';
no obtendras ningun resultado mas que una cadena de texto igual a "archivo[]" en la variable $name
- primero recuerda que las variables en PHP empiezan con $:
$name='$archivo[x]'; - segundo, no necesitas encerrar entre comillas las variables:
$name=$archivo[x]; - tercero, debes guardar cada valor en una variable distinta:
$name1=$archivo['arch1'];
$name2=$archivo['arch2'];
$name3=$archivo['arch3']; - y por ultimo si las variables son de archivo usa $_FILES y agrega ['name'] si quieres el nombre:
$name1=$_FILES['arch1']['name'];
$name2=$_FILES['arch2']['name'];
$name3=$_FILES['arch3']['name'];
Ahora solo debes hacer if para saber si se ha subido archivo en cada una:
if($_FILES['arch1']['name']) //subo el archivo
Si quieres optimizar usa un for:
for($f=1;$f<=3;$f++) if($_FILES["arch$f"]['name']) //subo el archivo
creo que no se me olvida nada XD