El código es este:
Código PHP:
if (isset($_FILES["imagen"])) {
$files = array();
foreach ($_FILES['imagen'] as $k => $l) {
foreach ($l as $i => $v) {
if (!array_key_exists($i, $files))
$files[$i] = array();
$files[$i][$k] = $v;
}
}
$indice = 1;
foreach ($files as $file) {
$handle = new Upload($file);
if ($handle->uploaded) {
$handle->image_resize = true;
$handle->image_ratio = true;
$handle->image_ratio_crop = true;
$handle->image_x = 400;
$handle->image_y = 300;
$handle->image_ratio_no_zoom_in = true;
$handle->Process("../imagenes");
$_FILES['imagen']['nombre_grande'][$indice-1]=$handle->file_dst_pathname;
$handle->image_resize = true;
$handle->image_ratio = true;
$handle->image_ratio_crop = true;
$handle->image_x = 224;
$handle->image_y = 168;
$handle->file_name_body_add = '_min';
$handle->Process("../imagenes");
$_FILES['imagen']['nombre_pequena'][$indice-1]=$handle->file_dst_pathname;
}
$indice++;
}
$maximo = obtener_indice_fotos($clave);
$indice = 1;
foreach ($_FILES["imagen"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$maximo++;
$nombre_fichero = $_FILES['imagen']['name'][$indice-1];
$ext_fichero = $_FILES['imagen']['type'][$indice-1];
$tam_fichero = $_FILES['imagen']['size'][$indice-1];
$fp = fopen($_FILES['imagen']['nombre_pequena'][$indice-1], "rb");
$imagen_pequena = fread($fp, filesize($_FILES['imagen']['nombre_pequena'][$indice-1]));
$imagen_pequena = addslashes($imagen_pequena);
fclose($fp);
$fpg = fopen($_FILES['imagen']['nombre_grande'][$indice-1], "rb");
$imagen_grande = fread($fpg, filesize($_FILES['imagen']['nombre_grande'][$indice-1]));
$imagen_grande = addslashes($imagen_grande);
fclose($fpg);
insertarImagenPiso($clave, $maximo, $nombre_fichero, $imagen_pequena, $imagen_grande, $ext_fichero);
@unlink($_FILES['imagen']['nombre_pequena'][$indice-1]);
@unlink($_FILES['imagen']['nombre_grande'][$indice-1]);
}
$indice++;
}
}
Pero he comprobado que donde falla es al hacer el new Upload()