Claro que si paso el valor por url debe ser con GET (el efecto del copy paste)
Hechos los cambios, ya me funciona:
Código PHP:
<form action=procesar.php method=post enctype="multipart/form-data">
<?
$campos = $_GET['campos'];
if(!isset($campos)){
$campos == 1; //Seteamos el numero por defecto de campos
}
$i = 1; //Seteamos el valor por defalut de $i
do {
echo "<input name=\"attach".$i."\" type=\"file\"><br />";
$i++;
}
while ($i <= $campos)
?>
<input type=submit value="Subir archivos">
</form>