Muchas gracias gabrielperezs.
He hecho el var_dump() y me muestra NULL.
Pongo sólo el trocito de código que empecé a probar (en el archivo original tengo mucho más, pero si ni siquiera funciona esto es tontería poner más).
Archivo alta_hotel2.html:
Código HTML:
<body >
<div id="alta">
<form name="datos" method="post" action="alta_hotel2.php" enctype="multipart/form-data" >
{if $error!=""}
<div id="error">{$error}</div>
{/if}
<div id="controles_tarifas">
<span class="texto">
¿Cuántas imágenes desea subir? </span>
<select class="input2" name="cant" onChange="document.datos.val.value=1;document.datos.fechas.value=num;document.datos.tarifas.value=num2;document.datos.submit();" >
<option value="">- - -</option>
<option value="1" {if $cant == 1 } selected="selected" {/if}>1</option>
<option value="2" {if $cant == 2 } selected="selected" {/if}>2</option>
<option value="3" {if $cant == 3 } selected="selected" {/if}>3</option>
<option value="4" {if $cant == 4 } selected="selected" {/if}>4</option>
</select>
{if $cant != ""}
{assign var="id3" value="1"}
{section name=ffi loop=$cant}
<div id="controles_ventas">
<br>
<input type="file" name="imagen{$id3}" size=35 class="input2">
<input type="hidden" name="cant_img" value="{$id3++}" />
</div>
{/section}
{/if}
<input type="submit" value="grabar">
</div><!-- controles_tarifas -->
</form>
</div> <!-- alta -->
</body>
(con el enctype no muestra nada)
Archivo alta_hotel2.php:
Código PHP:
include_once("global.php");
/** IMÁGENES **/
$smarty -> assign ('cant', $_POST[cant]);
$num3=$_POST[cant_img];
$ruta="fotos/hoteles/";
$flag=0;/*Bandera para controlar los errores (tipo incorrecto, exceso de tamaño, etc)*/
for($i=1;$i<=$num3;$i++){
$imagen=$_POST[imagen.$i];
echo var_dump($_POST[imagen.$i]);
echo "<br>".var_dump($_FILES['imagen'])."<br>";
if ($_FILES['$imagen']["name"]!="" && $flag==0){ //Si el file no está vacío
$archivo = $_FILES['$imagen']["tmp_name"];
$tamanio = $_FILES['$imagen']["size"];
$tipo = $_FILES['$imagen']["type"];
$nombre = $_FILES['$imagen']["name"];
echo $tamanio;
if(!(ereg("gif",$tipo) || ereg("png",$tipo) || ereg("jpeg",$tipo))) //Compruebo que la extensión sea .jpg, png ó gif
{
$error="ERROR: sólo se permiten archivos con extensión .jpg .gif .png.<br>No se ha grabado ninguna imagen en el servidor.<br>
Corríjalo e inténtelo de nuevo.";
$flag=1;break;
}else if ($tamanio > 120000){ //Compruebo que el tamaño no sea mayor de 100Ks
$error="ERROR: los archivos deben de ser menores de 100Kb.<br>No se ha grabado ninguna imagen en el servidor.<br>
Corríjalo e inténtelo de nuevo.";
$flag=2;break;
}
}else{
$error="ERROR: no foto.";
}
}
$smarty -> assign ('error', $error);
$smarty->display('alta_hotel2.html');
Muchas gracias, de verdad, porque lo cierto es que estoy empezando a desesperame. He probado todo lo que sé y nada.