Insertar varios registros de golpe con php

Estoy isertando en la bbdd mysql varios registros de golpe a través de arrays, pero no sé por qué no me ingresa nada en labase de datos.
Hago un echo al insert y me recoge los valores, por lo que no sé por qué nollega a hacerme el isnert.
Te añado el código por si vieras algo mal escrito, porque sinceramente ya no veo 3 en un burro!
Mi codigo es este:
<?
$agregar = tomar_variable ('agregar');
if ($agregar) {
    // Cargar Imagen
    $userfile1= $_FILES['userfile1']['name'];
    if ($userfile1 != "") $fimagen1 = img_upload ('1', $directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name']);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1']);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2']);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3']);
    $fautor = format_text($_POST['fautor']);
    // Validations
        $error_message = "";
        /*if ($userfile1 == "") $error_message .= "
<li>El campo <strong>Fotografía</strong> es obligatorio. </li>
";
        else {
            // Check Existent Username
            $valrs=mysql_query("SELECT * FROM $tabla_imagenes WHERE imagen= '$userfile1'") or die(mysql_error());
            $existuser = mysql_num_rows($valrs);
            if ($existuser > 0) $error_message .= "
<p>Error en nombre de Fotografía: Ya existe una imagen con ese nombre</p>
";
        }*/
    if ($error_message) {
        // Eliminar imagen temporal
        if (($fimagen1 != "") && ($fimagen1 != "E")) {
                $fimagen = $imagenes_upload . $fimagen1;
                $fimagentb = $imagenes_upload . $fimagen1tb;
                if (file_exists($fimagen)) unlink($fimagen);
                if (file_exists($fimagentb)) unlink($fimagentb);
        }
        // Dispay error
        $error_message = "
<ul>
" . $error_message . "
</ul>
";
        ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="100%" align="left">
              <DIV id=textcontent>
                <P><b><img src="images/ico_alerta.gif" width="22" height="20" hspace="4" align="absmiddle">
                Por favor verifique los siguientes errores:</b><br>
                <br><br><?=$error_message;?> </P>
<p> </p>
<P align="right">
                <a href="javascript:history.go(-1)">
                <img border="0" src="images/bt_volver.gif" align="right"></a>  <img src="images/spacer.gif" align="right" width="20" height="1"> 
                </p>
</DIV>
            </td>
</tr>
</table>
</div>
<?
    }
    else {
         //este for recorre el arreglo
            for ($i=0;$i<count($_POST['fautor']);$i++) {
            // Agregar a la base de datos
            mysql_query("INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i], '$fpie_foto_l3[$i]', '$fautor[$i]')") or die(mysql_error());
            }
    ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber2">
<tr>
<td width="100%" align="left">    
          <DIV id=textcontent>
            <P><b><img src="images/ico_exito.gif" width="22" height="20" hspace="4" align="absmiddle"></b><b class="txt_verde_tit">
            La Fotografía ha sido agregada.</b><br>
            <br></P>
<p> </p>
<P align="right">
            <a href="imagenes.php">
            <img border="0" src="images/bt_continuar.gif" align="right"></a>  <img src="images/spacer.gif" align="right" width="20" height="1"> 
            </p>
</DIV>    
        </td>
</tr>
</table>
</div>
<?
    }
}
else...

1 respuesta

Respuesta
1
Tendría que ver que hace tu función img_upload por dentro.. por lo pronto modifica tu sql y haz un echo para ver que instrucción sql está generando y detectar el error
en vez de:
mysql_query("INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor)
            VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i]', '$fpie_foto_l3[$i]', '$fautor[$i]')") or die(mysql_error());
pon
$insert = "INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor)
            VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i]', '$fpie_foto_l3[$i]', '$fautor[$i]')";
echo $insert . '<br>';
mysql_query($sql);
De manera que te liste los sql que se van generando y puedas detectar los erróneos
A ver ahora he corregido el codigo y si que me insterta, todo menos el nombre de la imagen y tampoco me sube las imagenes al servidor.
Si saco el input file del bucle si que me sube la imagen pero si lo meto nada de nada, ni el nombre ni la imagen.
Que puede ser? será la función de subir imagenes a la que llamo desde este archivo??? Me puedes echar una mano con eso??
Te dejo mi código finalizado y creo que correcto:
<?php
// Set permissions
$page_access = "Admin";
// Datos de la pagina
$pagina_seccion = "Fotograf&iacute;as";
$pagina_nombre = "Nueva Fotograf&iacute;a";
// Header Selection
include_once ('inc/page_header_admin.inc.php');
// Inicializacion de variables
$directorio_upload = "../" . $imagenes_upload;
// Tamaños de imagenes
    $imagen_medida_ancho =     $img_imagenes_ancho;
    $imagen_medida_alto =  $img_imagenes_alto;
    $thumb_medida_ancho = $img_imagenes_tbancho;
    $thumb_medida_alto = $img_imagenes_tbalto;
    // Fechas
    $fecha_actual_dia = date("j");
    $fecha_actual_mes = date("n");
    $fecha_actual_anio = date("Y");
?>
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="84%" class="rutanavegacion">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="70%" align="left"> <?=$pagina_seccion;?> » <?=$pagina_nombre;?> </td>
<td width="30%" align="right"> <img src="images/ico_reloj.gif" width="17" height="17" hspace="3" align="absmiddle"><?=$fecha_hora;?> </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="84%" align="left" valign="top" class="base">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="194" valign="top" class="fdo_botonera">
<div id=navcontainer2>
<ul id=navlist>
<LI><a href=imagenes.php>LISTAR FOTOGRAF&Iacute;AS</a></LI>
                <LI><a href=imagenes_alta.php>NUEVA FOTOGRAF&Iacute;A</a></LI>
                <LI><a href=imagenes_categorias.php>LISTAR GALER&Iacute;AS</a></LI>
                <LI><a href=imagenes_categorias_alta.php>NUEVA GALER&Iacute;A</a></LI>
</ul>
</div>
</td>
<td valign="top">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="40" class="titulos_internas"><span class="txt_big_azul"><?=$pagina_seccion;?> /</span> <?=$pagina_nombre;?> </td>
</tr>
<tr>
<td valign="top" class="contenido_internas"><br>
<?
$agregar = tomar_variable ('agregar');
if ($agregar) {
    // Cargar Imagen
    $userfile1= $_FILES['userfile1']['name'];        
    if ($userfile1 != "") $fimagen1 = img_upload ('1', $directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name']);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1']);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2']);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3']);
    $fautor = format_text($_POST['fautor']);
    // Validations
        $error_message = "";
        /*if ($userfile1 == "") $error_message .= "
<li>El campo <strong>Fotograf&iacute;a</strong> es obligatorio. </li>
";
        else {
            // Check Existent Username
            $valrs=mysql_query("SELECT * FROM $tabla_imagenes WHERE imagen= '$userfile1'") or die(mysql_error());
            $existuser = mysql_num_rows($valrs);
            if ($existuser > 0) $error_message .= "
<p>Error en nombre de Fotograf&iacute;a: Ya existe una imagen con ese nombre</p>
";
        }*/
    if ($error_message) {
        // Eliminar imagen temporal
        if (($fimagen1 != "") && ($fimagen1 != "E")) {
                $fimagen = $imagenes_upload . $fimagen1;
                $fimagentb = $imagenes_upload . $fimagen1tb;
                if (file_exists($fimagen)) unlink($fimagen);
                if (file_exists($fimagentb)) unlink($fimagentb);
        }
        // Dispay error
        $error_message = "
<ul>
" . $error_message . "
</ul>
";
        ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="100%" align="left">
              <DIV id=textcontent>
                <P><b><img src="images/ico_alerta.gif" width="22" height="20" hspace="4" align="absmiddle">
                Por favor verifique los siguientes errores:</b><br>
                <br><br><?=$error_message;?> </P>
<p> </p>
<P align="right">
                <a href="javascript:history.go(-1)">
                <img border="0" src="images/bt_volver.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
                </p>
</DIV>
            </td>
</tr>
</table>
</div>
<?
    }
    else {
         //este for recorre el arreglo        
          $tot = count($_FILES['userfile1']['name']);
            for ($i=0;$i<$tot;$i++) {             
             if (!empty($_FILES['userfile1']['name'][$i])) {            
            // Agregar a la base de datos
            mysql_query("INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor)
            VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i]', '$fpie_foto_l3[$i]', '$fautor[$i]')") or die(mysql_error());
            }
            }
    ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber2">
<tr>
<td width="100%" align="left">    
          <DIV id=textcontent>
            <P><b><img src="images/ico_exito.gif" width="22" height="20" hspace="4" align="absmiddle"></b><b class="txt_verde_tit">
            La Fotograf&iacute;a ha sido agregada.</b><br>
            <br></P>
<p> </p>
<P align="right">
            <a href="imagenes.php">
            <img border="0" src="images/bt_continuar.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
            </p>
</DIV>    
        </td>
</tr>
</table>
</div>
<?
    }
}
else {
?>              
            <!-- Comienzo de Form -->
<table width="100%"  border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" class="tabla_g_idbt" style="border-collapse: collapse">
<form action="<? echo $url_this;?>" method="post" enctype="multipart/form-data" name="form1">
 <input name="agregar" type="hidden" value="go">            
<tr>
<td colspan="2" class="tabla_w_idb"><span class="txt_verde_mini">
        <b><img src="images/ico_flecha_vde.gif" width="4" height="7" hspace="2">Datos de la Imagen </b></span></td>
</tr>
<tr>
<td class="tabla_g_itb">Categor&iacute;a</td>
<td class="tabla_g_itb">
        <select name="fcategoria" class="form">
        <option value selected="#"> - Seleccionar - </option>
            <?
            $rsx=mysql_query("SELECT * FROM $tabla_categorias WHERE categoria_tipo = 'Categoria'  ORDER BY categoria_orden ASC") or die(mysql_error());
            $ix = 0;  
            $cantx = mysql_num_rows($rsx);                
            if  ($cantx <= 0) echo "<option value=''>No hay Categorias para listar.</option>";
            else {
                $ix=-1;
                while (($ix+1)< $cantx) {
                    $ix++;
                    $lcategoria_id=mysql_result($rsx,$ix,"categoria_id");
                    $lcategoria_url=mysql_result($rsx,$ix,"categoria_url");
                    $lcategoria_nombre=mysql_result($rsx,$ix,"categoria_nombre_l1");
                    ?>
                      <?
                       // Cargar Datos SUB-CATEGORIAS
                    $rss=mysql_query("SELECT * FROM $tabla_categorias WHERE categoria_url_referencia = '$lcategoria_url' AND categoria_tipo = 'Sub-Categoria' ORDER BY categoria_orden ASC") or die(mysql_error());
                    $cants = mysql_num_rows($rss);
                    $is=-1;
                    while (($is+1)< $cants) {
                        $is++;
                        $scategoria_id=mysql_result($rss,$is,"categoria_id");
                        $scategoria_url=mysql_result($rss,$is,"categoria_url");
                        $scategoria_nombre=mysql_result($rss,$is,"categoria_nombre_l1");
                        ?>
                          <option value = "<?=$scategoria_url;?>"> <?=$lcategoria_nombre;?> -- <?=$scategoria_nombre;?></option>
                          <?
                    }
                 }
            }
            ?>
        </select></td>
</tr>
<?php
            $i=0;
              for ($i=1;$i<=5;$i++) {
            ?>
<tr>
<td class="tabla_boton"> </td>
<td class="tabla_boton"> </td>
</tr>
<tr>
<td class="tabla_g_itb">Fotograf&iacute;a </td>
<td class="tabla_g_itb"> <input type="file" name="userfile1[<?php echo $i; ?>]" class="form"  size="20"/></td>
</tr>
<tr>
<td class="tabla_g_itb">Autor  </td>
<td class="tabla_g_itb"><input name="fautor[<?php echo $i; ?>]" type="text" class="form" value="" size="30"/>                  </td>
</tr>
<tr>
<td width="84" height="25" class="tabla_g_itb">Pie de Foto  </td>
<td width="446" class="tabla_g_itb">
                    <input name="fpie_foto_l1[<?php echo $i; ?>]" type="text" class="form" value="" size="30"> <? if ($sitio_idiomas > 1) { ?>(<?=$idioma1;?>)<br><? } ?>
                <? if ($idioma2 != "") { ?><input name="fpie_foto_l2[<?php echo $i; ?>]" type="text" class="form" value="" size="30" > (<?=$idioma2;?>) <br><? } ?>
                <? if ($idioma3 != "") { ?> <input name="fpie_foto_l3[<?php echo $i; ?>]" type="text" class="form" value="" size="30"> (<?=$idioma3;?>) <br><? } ?>        </td>
</tr>
<? } ?>
<tr>
<td class="tabla_boton"> </td>
<td class="tabla_boton"> </td>
</tr>
<tr>
<td class="tabla_boton" colspan="2"><input type="image" value="Enviar" name="B1" src="images/bt_enviar.gif" align="right"> </a></td>
</tr>
</form>
</table>
<!-- fin de Form -->
<? } ?>
Y la función para la subida de imagenes y miniaturas es esta:
function img_upload($file_id, $upload_dir, $imgancho, $imgalto, $resize, $thumnail, $tbancho, $tbalto) {
global $upload_url;
 if ($file_id != "") {
    $grafico = "userfile" . $file_id;
    $File_Name_aux = $_FILES[$grafico]['name'];
    $File_extension = strtolower(substr($File_Name_aux, -4));
    if ( ($File_extension != ".bmp")&&($File_extension != ".gif")&&($File_extension != "jpeg")&&($File_extension != ".jpg")&&($File_extension != ".png")&&($File_extension != ".swf"))
    {
        $message = "E";
        return $message ;
    }
    if (is_uploaded_file($_FILES[$grafico]['tmp_name'])) {
        $temp_name = $_FILES[$grafico]['tmp_name'];
        $file_name = $_FILES[$grafico]['name'];
        $file_type = $_FILES[$grafico]['type'];
        $file_size = $_FILES[$grafico]['size'];
        $result    = $_FILES[$grafico]['error'];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;
        $ver=0;
        while ( file_exists($file_path) ) {
            $ver++;
            $new_file_name = "[".$ver."]".$file_name;
            $file_path = $upload_dir.$new_file_name;
            $file_url  = $upload_url.$new_file_name;
        }
        if (move_uploaded_file($temp_name, $file_path) ) {
        $fimagen = $new_file_name;    
        if (($thumnail == "Si")&&($File_extension != ".swf")) {
          
 $fthumb =  img_thumb($file_path, $tbancho, $tbalto, "", "tb_", "No");         
        }
// aqui llamo a otra función que me crea las miniaturas
        if (($resize == "Si")&&($File_extension != ".swf")) {
            $fimagenx =  img_thumb($file_path, $imgancho, $imgalto, "", "", "Si");
        }
        return $fimagen;
        }
    }    
    else {
        if ( $file_name == "") {
            $message = "";
            return $message;
        }
        else $message .= "E";
    }
    return $message;
 }
 else return "";
}
La función de las miniaturas es esta por si quieres mirarla:
function img_thumb($imagen, $maxancho, $maxalto, $dir, $prefijo, $borrar) {
     $nombre=basename($imagen);
     $camino=dirname($imagen)."/";
     // Verif existencia de Directorio     
     if (!file_exists($camino.$dir_thumb)) @mkdir ($camino.$dir_thumb, 0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb);
    $File_extension = strtolower(substr($nombre, -4));
    if (($File_extension == ".jpg") || ($File_extension == "jpeg"))  $img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
    if ($File_extension == ".gif")  $img = @imagecreatefromgif($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
    if ($File_extension == ".bmp")  $img = @imagecreatefromwbmp($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
    if ($File_extension == ".png")  $img = @imagecreatefrompng($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n");
          // Datos Imagen
          $datos = getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n");
          $anchura = $datos[0];
          $altura = $datos[1];
          // Rediseño
          while (($anchura > $maxancho) || ($altura > $maxalto)) {
          $anchura = $anchura * 0.9999;
          $altura = $altura * 0.9999;
          }
          $anchura = floor($anchura);
          $altura = floor($altura);    
          // Crear Thumb
          $thumb = imagecreatetruecolor($anchura,$altura);           
          imagecopyresampled ($thumb, $img, 0, 0, 0, 0, $anchura, $altura, $datos[0], $datos[1]);
          // Eliminar Original
          if ($borrar == "Si") unlink($imagen);   
          // Posicionamiento final
          $imagenfinal = $camino.$dir.$prefijo.$nombre ;
    if (($File_extension == ".jpg") || ($File_extension == "jpeg"))  imagejpeg($thumb,$imagenfinal);
    if ($File_extension == ".gif")  imagegif($thumb,$imagenfinal);
    if ($File_extension == ".bmp")  imagewbmp($thumb,$imagenfinal);  
    if ($File_extension == ".png")  imagepng($thumb,$imagenfinal);  
          return $imagenfinal;
}
Todas estas funciones me funcionan si hago la insercción registro por registro, es decir uno a uno, incluso si un mismo registro tiene 5 imagenes tambien me funciona todo perfecto, asi que creo que será cosa de los arrays, algo tengo que modificar en la  función img_upload para que me suba todas las imagenes que se cargan en el input no??
Llevo una semana con esto y no arranco, ni para adelante ni para atrás..AYUDA PLEASE!!!
Ei! muchas gracias por contestarme!!
Pues eso ya lo he hecho, y resulta que me no me recoge los valores de esos campos, ese es el problema. Te dejo la sentencia sql para que veas lo que me sale:
INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'r', '', 'b', 'pie 1', 'pie1', 'pie1', 'autor1')
INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'r', '', '_', 'pie autor 2', 'pie autor 2', 'pie autor 2', 'autor 2')
INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'a', '', 'E', 'pie autor 3', 'pie autor 3', 'pie autor 3', 'autor 3')
INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'y', '', '', 'pie autor4', 'pie autor 4', 'pie autor 4', 'autor 4')
He detectado que si en el INSERT en la variable $fimagen1 la cambio po $userfile1, si queme recoge el valor del nombre del archivo cargado en ese input pero si lo dejo como antes no.
He de decirte, que el campo URL, me recoge el nombre de la imagen pasada por una función de LIMPIAR URL para quitar espacios y eso, lo uso para hacer url´s amigables.
Te lo comento por si te lo preguntas, jeje!
y por otro lado, anteriormente te dejé escrita la función img_upload puesta pero te la vuelvo a poner.
Esta función está en otro archivo llamado function.inc.php que está en otro directorio, y sí que me funciona si no uso arrays, vamos si meto los registros uno a uno, porque la he utilizado un millar de veces.
Así que imagino que será la función pero no sé que tengo que hacer con ella porque es una función que me sirve para cualquier tipo de imagen.
Bueno, te la pongo aquí a ver:
function img_upload($file_id, $upload_dir, $imgancho, $imgalto, $resize, $thumnail, $tbancho, $tbalto) {
global $upload_url;
 if ($file_id != "") {
    $grafico = "userfile" . $file_id;
    $File_Name_aux = $_FILES[$grafico]['name'];
    $File_extension = strtolower(substr($File_Name_aux, -4));
    if ( ($File_extension != ".bmp")&&($File_extension != ".gif")&&($File_extension != "jpeg")&&($File_extension != ".jpg")&&($File_extension != ".png")&&($File_extension != ".swf"))
    {
        $message = "E";
        return $message ;
    }
    if (is_uploaded_file($_FILES[$grafico]['tmp_name'])) {
        $temp_name = $_FILES[$grafico]['tmp_name'];
        $file_name = $_FILES[$grafico]['name'];
        $file_type = $_FILES[$grafico]['type'];
        $file_size = $_FILES[$grafico]['size'];
        $result    = $_FILES[$grafico]['error'];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;
        $ver=0;
        while ( file_exists($file_path) ) {
            $ver++;
            $new_file_name = "[".$ver."]".$file_name;
            $file_path = $upload_dir.$new_file_name;
            $file_url  = $upload_url.$new_file_name;
        }
        if (move_uploaded_file($temp_name, $file_path) ) {
        $fimagen = $new_file_name;    
// llamamos a la función thumnail para crear la miniatura de esta imagen
        if (($thumnail == "Si")&&($File_extension != ".swf")) {
            $fthumb =  img_thumb($file_path, $tbancho, $tbalto, "", "tb_", "No");         
        }

        if (($resize == "Si")&&($File_extension != ".swf")) {
            $fimagenx =  img_thumb($file_path, $imgancho, $imgalto, "", "", "Si");
        }
        return $fimagen;
        }
    }    
    else {
        if ( $file_name == "") {
            $message = "";
            return $message;
        }
        else $message .= "E";
    }
    return $message;
 }
 else return "";
}
Bueno espero puedas ayudarme porque ya no sé por donde tirar.
Muchas gracias de nuevo.
Bea
Hola de nuevo!!
me he dado cuenta que tenia el for del formulario mal hecho, ya lo he corregido y me sale esto en el INSERT:
INSERT INTO jazzvitoria_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'a', 'E', 't', '1', '1', '1', '1')
INSERT INTO jazzvitoria_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'r', '', 'b', '2', '2', '2', '2')
INSERT INTO jazzvitoria_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'r', '', '_', '3', '3', '3', '3')
INSERT INTO jazzvitoria_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'a', '', 'E', '4', '4', '4', '4')
INSERT INTO jazzvitoria_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '11-de-julio-new-orleans-picnic', 'y', '', '', '5', '5', '5', '5')
Si te das cuenta sale la palabra array en cada uno de los insert, bueno, mejor dicho cada letra. y eso???? ahi si que me ha dejado muerta!
Alguna idea??
Si, aparentemente estas subindicando mal ese array $furl[$i]', que no se de donde lo sacas? lo tenés en este orden
(id, categoria_url, url.. y los valores ('', '$fcategoria', '$furl[$i]'..
me gustaría ver de donde sacas $furl[$i] y qué tipo de array es, creo que estás usando mal los índices
Vale,
La url,  es una variable que no está en el formulario.
La recoge del valor de otra variable que si que está en el formulario como es el caso de las imagenes.
Por ejemplo, quiero que el valor url sea = al nombre de la imagen.
Tengo las variable declaradas asi:
// Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name']);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1']);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2']);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3']);
    $fautor = format_text($_POST['fautor']);
Y también me funciona perfectamente.
Ya sé de donde salel la E esa que se queda en el INSERT justo en el campo de la imagen.
 Sale de la función, justo cuando valido las extensiones de la imagen.
he probado a modificarla un poco quitandole esa validación y ya no sale.
He metido la función en el propio archivo y la dejado así: Dime a ver que te parece, que igual es una chapuza padre pero por lo menos ahora si que me sube una imagen , pero el tema de los nombre na nai de la china:
function img_upload_multiple($upload_dir, $imgancho, $imgalto, $resize, $thumnail, $tbancho, $tbalto) {
global $upload_url;
 if ($_FILES['userfile1']['name'] != "") {
    $grafico = "userfile1";
    $tot = count($_FILES[$grafico]["name"]);
    for ($i = 0; $i < $tot; $i++){   
    $temp_name = $_FILES[$grafico]['tmp_name'][$i];
        $file_name = $_FILES[$grafico]['name'][$i];
        $file_type = $_FILES[$grafico]['type'][$i];
        $file_size = $_FILES[$grafico]['size'][$i];
        $result    = $_FILES[$grafico]['error'][$i];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;    
    if (is_uploaded_file($_FILES[$grafico]['tmp_name'][$i])) {
        $temp_name = $_FILES[$grafico]['tmp_name'][$i];
        $file_name = $_FILES[$grafico]['name'][$i];
        $file_type = $_FILES[$grafico]['type'][$i];
        $file_size = $_FILES[$grafico]['size'][$i];
        $result    = $_FILES[$grafico]['error'][$i];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;
        $ver=0;
        while ( file_exists($file_path) ) {
            $ver++;
            $new_file_name = "[".$ver."]".$file_name;
            $file_path = $upload_dir.$new_file_name;
            $file_url  = $upload_url.$new_file_name;
        }
        if (move_uploaded_file($temp_name, $file_path) ) {
        $fimagen = $new_file_name;    
        if (($thumnail == "Si")&&($File_extension != ".swf")) {
            $fthumb =  img_thumb($file_path, $tbancho, $tbalto, "", "tb_", "No");         
        }
        if (($resize == "Si")&&($File_extension != ".swf")) {
            $fimagenx =  img_thumb($file_path, $imgancho, $imgalto, "", "", "Si");
        }
        return $fimagen;
        }
    }    
    else {
        if ( $file_name == "") {
            $message = "";
            return $message;
        }
        else $message .= "E";
    }
    return $message;
}
 }
 else return "";
}
El nombre de la imagen lo que hace ahora es partirmela igual que hace con la url.
Como lo ves? ;)
¿Me podés mostrar el formulario desde donde das el alta?
Sin problema:
aqui tienes la página entera, aqui hago todo, el formulario, es decir, se caga en la misma pagina:
<?php
// Set permissions
$page_access = "Admin";
// Datos de la pagina
$pagina_seccion = "Fotograf&iacute;as";
$pagina_nombre = "Nueva Fotograf&iacute;a";
// Header Selection
include_once ('inc/page_header_admin.inc.php');
// Inicializacion de variables
$directorio_upload = "../" . $imagenes_upload;
// Tamaños de imagenes
    $imagen_medida_ancho =     $img_imagenes_ancho;
    $imagen_medida_alto =  $img_imagenes_alto;
    $thumb_medida_ancho = $img_imagenes_tbancho;
    $thumb_medida_alto = $img_imagenes_tbalto;
    // Fechas
    $fecha_actual_dia = date("j");
    $fecha_actual_mes = date("n");
    $fecha_actual_anio = date("Y");
    /* funcion de subir imagenes*/
?>
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="84%" class="rutanavegacion">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="70%" align="left"> <?=$pagina_seccion;?> » <?=$pagina_nombre;?> </td>
<td width="30%" align="right"> <img src="images/ico_reloj.gif" width="17" height="17" hspace="3" align="absmiddle"><?=$fecha_hora;?> </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="84%" align="left" valign="top" class="base">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="194" valign="top" class="fdo_botonera">
<div id=navcontainer2>
<ul id=navlist>
<LI><a href="imagenes2.php">LISTAR FOTOGRAF&Iacute;AS</a></LI>
                <LI><a href="imagenes_alta_conarrays.php">NUEVA FOTOGRAF&Iacute;A</a></LI>
                <LI><a href="imagenes_categorias.php">LISTAR GALER&Iacute;AS</a></LI>
                <LI><a href="imagenes_categorias_alta.php">NUEVA GALER&Iacute;A</a></LI>
</ul>
</div>
</td>
<td valign="top">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="40" class="titulos_internas"><span class="txt_big_azul"><?=$pagina_seccion;?> /</span> <?=$pagina_nombre;?> </td>
</tr>
<tr>
<td valign="top" class="contenido_internas"><br>
<?
$agregar = tomar_variable ('agregar');
if ($agregar) {
    // Cargar Imagen
    $userfile1= $_FILES['userfile1']['name'];
    if ($userfile1 != "") $fimagen1 = img_upload_multiple ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name']);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1']);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2']);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3']);
    $fautor = format_text($_POST['fautor']);
    // Validations
        $error_message = "";
        /*if ($userfile1 == "") $error_message .= "
<li>El campo <strong>Fotograf&iacute;a</strong> es obligatorio. </li>
";
        else {
            // Check Existent Username
            $valrs=mysql_query("SELECT * FROM $tabla_imagenes WHERE imagen= '$userfile1'") or die(mysql_error());
            $existuser = mysql_num_rows($valrs);
            if ($existuser > 0) $error_message .= "
<p>Error en nombre de Fotograf&iacute;a: Ya existe una imagen con ese nombre</p>
";
        }*/
    if ($error_message) {
        // Eliminar imagen temporal
        if (($fimagen1 != "") && ($fimagen1 != "E")) {
                $fimagen = $imagenes_upload . $fimagen1;
                $fimagentb = $imagenes_upload . $fimagen1tb;
                if (file_exists($fimagen)) unlink($fimagen);
                if (file_exists($fimagentb)) unlink($fimagentb);
        }
        // Dispay error
        $error_message = "
<ul>
" . $error_message . "
</ul>
";
        ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="100%" align="left">
              <DIV id=textcontent>
                <P><b><img src="images/ico_alerta.gif" width="22" height="20" hspace="4" align="absmiddle">
                Por favor verifique los siguientes errores:</b><br>
                <br><br><?=$error_message;?> </P>
<p> </p>
<P align="right">
                <a href="javascript:history.go(-1)">
                <img border="0" src="images/bt_volver.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
                </p>
</DIV>
            </td>
</tr>
</table>
</div>
<?
    }
    else {
         //este for recorre el arreglo
            $tot = count($_FILES['userfile1']['name']);
            for ($i=0;$i<$tot;$i++) {                  
                if (!empty($_FILES['userfile1']['name'][$i])) {        
            // Agregar a la base de datos
            mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i]', '$fpie_foto_l3[$i]', '$fautor[$i]')") or die(mysql_error());
        /*    $insert = "INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor)  VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i]', '$fpie_foto_l3[$i]', '$fautor[$i]')";
echo $insert . '<br>';
mysql_query($sql); */
            }
            }
    ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber2">
<tr>
<td width="100%" align="left">    
          <DIV id=textcontent>
            <P><b><img src="images/ico_exito.gif" width="22" height="20" hspace="4" align="absmiddle"></b><b class="txt_verde_tit">
            La Fotograf&iacute;a ha sido agregada.</b><br>
            <br></P>
<p> </p>
<P align="right">
            <a href="imagenes2.php">
            <img border="0" src="images/bt_continuar.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
            </p>
</DIV>    
        </td>
</tr>
</table>
</div>
<?
    }
}
else {
?>              
            <!-- Comienzo de Form -->
<table width="100%"  border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" class="tabla_g_idbt" style="border-collapse: collapse">
<form action="<? echo $url_this;?>" method="post" enctype="multipart/form-data" name="form1">
 <input name="agregar" type="hidden" value="go">            
<tr>
<td colspan="2" class="tabla_w_idb"><span class="txt_verde_mini">
        <b><img src="images/ico_flecha_vde.gif" width="4" height="7" hspace="2">Datos de la Imagen </b></span></td>
</tr>
<tr>
<td class="tabla_g_itb">Categor&iacute;a</td>
<td class="tabla_g_itb">
        <select name="fcategoria" class="form">
        <option value selected="#"> - Seleccionar - </option>
            <?
            $rsx=mysql_query("SELECT * FROM $tabla_categorias WHERE categoria_tipo = 'Categoria'  ORDER BY categoria_orden ASC") or die(mysql_error());
            $ix = 0;  
            $cantx = mysql_num_rows($rsx);                
            if  ($cantx <= 0) echo "<option value=''>No hay Categorias para listar.</option>";
            else {
                $ix=-1;
                while (($ix+1)< $cantx) {
                    $ix++;
                    $lcategoria_id=mysql_result($rsx,$ix,"categoria_id");
                    $lcategoria_url=mysql_result($rsx,$ix,"categoria_url");
                    $lcategoria_nombre=mysql_result($rsx,$ix,"categoria_nombre_l1");
                    ?>
                      <?
                       // Cargar Datos SUB-CATEGORIAS
                    $rss=mysql_query("SELECT * FROM $tabla_categorias WHERE categoria_url_referencia = '$lcategoria_url' AND categoria_tipo = 'Sub-Categoria' ORDER BY categoria_orden ASC") or die(mysql_error());
                    $cants = mysql_num_rows($rss);
                    $is=-1;
                    while (($is+1)< $cants) {
                        $is++;
                        $scategoria_id=mysql_result($rss,$is,"categoria_id");
                        $scategoria_url=mysql_result($rss,$is,"categoria_url");
                        $scategoria_nombre=mysql_result($rss,$is,"categoria_nombre_l1");
                        ?>
                          <option value = "<?=$scategoria_url;?>"> <?=$lcategoria_nombre;?> -- <?=$scategoria_nombre;?></option>
                          <?
                    }
                 }
            }
            ?>
        </select></td>
</tr>
<?php
                $i=0;
              for ($i=0;$i<=4;$i++) {
            ?>
<tr>
<td class="tabla_g_itb">Fotograf&iacute;a 1 </td>
<td class="tabla_g_itb"> <input type="file" name="userfile1[<?php echo $i; ?>]" class="form"  size="20"/></td>
</tr>
<tr>
<td class="tabla_g_itb">Autor 1 </td>
<td class="tabla_g_itb"><input name="fautor[<?php echo $i; ?>]" type="text" class="form" value="" size="30"/>                  </td>
</tr>
<tr>
<td width="84" height="25" class="tabla_g_itb">Pie de Foto 1 </td>
<td width="446" class="tabla_g_itb">
                    <input name="fpie_foto_l1[<?php echo $i; ?>]" type="text" class="form" value="" size="30"> <? if ($sitio_idiomas > 1) { ?>(<?=$idioma1;?>)<br><? } ?>
                <? if ($idioma2 != "") { ?><input name="fpie_foto_l2[<?php echo $i; ?>]" type="text" class="form" value="" size="30" > (<?=$idioma2;?>) <br><? } ?>
                <? if ($idioma3 != "") { ?> <input name="fpie_foto_l3[<?php echo $i; ?>]" type="text" class="form" value="" size="30"> (<?=$idioma3;?>) <br><? } ?>        </td>
</tr>
<? } ?>
<tr>
<td class="tabla_boton"> </td>
<td class="tabla_boton"> </td>
</tr>
<tr>
<td class="tabla_boton" colspan="2"><input type="image" value="Enviar" name="B1" src="images/bt_enviar.gif" align="right"> </a></td>
</tr>
</form>
</table>
<!-- fin de Form -->
<? } ?>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?
include_once ('inc/page_footer_admin.inc.php');
?>
Creo que después del if ($agregar) { todo lo que sigue alli donde cargas los datos:
$userfile1= $_FILES['userfile1']['name'];
    if ($userfile1 != "") $fimagen1 = img_upload_multiple ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name']);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1']);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2']);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3']);
    $fautor = format_text($_POST['fautor']);
Debería estar dentro de un for también, ya se debería repetirse una vez por cada foto subida, en este caso al no haber for, sólo lo hace para la primer foto, la palabra ARRAY en el insert es porque
$_POST['fpie_foto_l1'], $_POST['fpie_foto_l2'], $_POST['fpie_foto_l3']
también son arrays ya que en tu formulario de alta los tienes como :
<input name="fpie_foto_l2[<?php echo $i; ?>]"
o sea que deberías referenciarlos $_POST['fpie_foto_l3'][$i]
todo esto dentro de un for..
pruebalo y me dices ;)
Pues no sé muy bien donde ponerlo, pero el caso es que me hace lo mismo que antes, me sigue metiendo solo una imagen y no me mete el nombre completo de la imagen.
De todos modos, si que me mete el resto de los campos bien sin hacer esto que me dices, sabes? Todos los demás campos, pie_foto_l1, pie_foto-l2, pie_foto_l3 y autor los llena bien. Si relleno los 5 campos se meten los 5 lo que no se mete es la imagen de ninguno de los input file que tengo nada mas que de elprimero, pero el nombre en la bbdd nada, me sale solo la primera letra, una cosa rara como si estuviera partido.
Lo he puesto así a ver si lo he hecho bien.:
if ($agregar) {
    $i=0;
    for ($i=0;$i<=5;$i++) {
    // Cargar Imagen
    $userfile1= $_FILES['userfile1']['name'][$i];
    if ($userfile1 != "") $fimagen = img_upload_multiple ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagentb = "tb_" . $fimagen;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name']);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);
    }
no sé muy bien como me dices, pero así lo he puesto.
Me dices a ver, y gracias
No se si estoy entendiendo bien, ¿cada foto subida tiene su autor y también su pie_foto_l1, pie_fotol2, pie_fotol3 no?
Entonces haz lo que tengas que hacer por cada foto, dentro del for que ya tienes, es decir antes de los insert:
$tot = count($_FILES['userfile1']['name']);
            for ($i=0;$i<$tot;$i++) {                  
                if (!empty($_FILES['userfile1']['name'][$i])) {        
//------ACA AGREGA LO QUE DEBAS HACER POR CADA ELEMENTO DE FILE------                    
$userfile1= $_FILES['userfile1']['name'][$i];
    if ($userfile1 != "") $fimagen1 = img_upload_multiple ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name'][$i]);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);
//---- FIN AGREGADO------------------------------
            // Agregar a la base de datos
           mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl', '$fimagen1', '$fimagen1tb', '$fpie_foto_l1', '$fpie_foto_l2', '$fpie_foto_l3', '$fautor')") or die(mysql_error());
Fijate que agregue el [$i] a todos inclusive a $furl = limpiarURL($_FILES['userfile1']['name'] y se los saqué a las variables del INSERT ya que no lo van a necesitar porque se modifican por cada iteración del for, categoria creo que podría estar fuera del for ya que supongo que es la misma para todas las fotos..
Pruebalo y me dices.
a ver si te he entendido..
Justo después de declarar las variables tengo que meter el insert directamente??
no sé si te has fijado que tengo un else y despues está el insert, que hago me lo como??quito el else??
y a que te refieres con que tengo que hacer con //------ACA AGREGA LO QUE DEBAS HACER POR CADA ELEMENTO DE FILE------
Ese es el problema que no sé como se hace para cargar todos de una vez, porque en realidad solo tengo un input. Si tuviera mas de uno con distinto nombre haria esto
$userfile1= $_FILES['userfile1']['name'];
    if ($userfile1 != "") $fimagen1 = img_upload ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
$userfile2= $_FILES['userfile2']['name'];
    if ($userfile1 != "") $fimagen2 = img_upload ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen2tb = "tb_" . $fimagen2;
pero claro para eso tendria que tener dos input uno con el nombre userfile1 y otro con el nombre userfile2 y en la bbdd tendria que tener dos campos mas para el segundo input.
he ahí mi problema, que esto ya se me escapa un pelín..
Bien el codigo que te pasé, ponlo en ese orden, el else dejalo no afecta en nada, el comentario //------ACA AGREGA LO QUE DEBAS HACER POR CADA ELEMENTO DE FILE------ esta de mas porque ya lo agregué yo, lo que esta entre eso y //---- FIN AGREGADO------------------------------ es lo que yo agregué y luego modifiqué las variables que le pasas al insert para que no sean arrays.
Lo agregue dentro del for porque vos lo haces sólo una vez, para la primer foto, pero para la segunda, tercera, etc. ya no lo hace al no estar dentro de un bucle.
Pruebalo asi.
Bien, pues no chuta!
Me agrega solo el ultimo valor insertado pero no el nombre de la imagen pero lo curioso eque en el campo url si que me guarda bien el nombre de la imagen.
Creo que el problema está en la función. No tendría que modificarla para que me recoga mas de un valor también??
no sé ahora si que estoy perdida del todo.
Te dejo loque he puesto:
if ($agregar) {
    $tot = count($_FILES['userfile1']['name']);
            for ($i=0;$i<$tot;$i++) {                  
                if (!empty($_FILES['userfile1']['name'][$i])) {    
    // Cargar Imagen
    $userfile1= $_FILES['userfile1']['name'][$i];
    if ($userfile1 != "") $fimagen = img_upload ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagentb = "tb_" . $fimagen;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name'][$i]);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);
    }
}
    // Validations
        $error_message = "";
        if ($userfile1 == "") $error_message .= "
<li>El campo <strong>Fotograf&iacute;a</strong> es obligatorio. </li>
";
        else {
            // Check Existent Username
            $valrs=mysql_query("SELECT * FROM $tabla_imagenes WHERE imagen= '$userfile1'") or die(mysql_error());
            $existuser = mysql_num_rows($valrs);
            if ($existuser > 0) $error_message .= "
<p>Error en nombre de Fotograf&iacute;a: Ya existe una imagen con ese nombre</p>
";
        }
    if ($error_message) {
        // Eliminar imagen temporal
        if (($fimagen1 != "") && ($fimagen1 != "E")) {
                $fimagen = $imagenes_upload . $fimagen1;
                $fimagentb = $imagenes_upload . $fimagen1tb;
                if (file_exists($fimagen)) unlink($fimagen);
                if (file_exists($fimagentb)) unlink($fimagentb);
        }
        // Dispay error
        $error_message = "
<ul>
" . $error_message . "
</ul>
";
        ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="100%" align="left">
              <DIV id=textcontent>
                <P><b><img src="images/ico_alerta.gif" width="22" height="20" hspace="4" align="absmiddle">
                Por favor verifique los siguientes errores:</b><br>
                <br><br><?=$error_message;?> </P>
<p> </p>
<P align="right">
                <a href="javascript:history.go(-1)">
                <img border="0" src="images/bt_volver.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
                </p>
</DIV>
            </td>
</tr>
</table>
</div>
<?
    }
    else {
            // Agregar a la base de datos
            mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl', '$fimagen', '$fimagentb', '$fpie_foto_l1', '$fpie_foto_l2', '$fpie_foto_l3', '$fautor')") or die(mysql_error());
    ?>
Es que no era asi como te decia :(, te copio todo el código como debería quedar:
<?php
// Set permissions
$page_access = "Admin";
// Datos de la pagina
$pagina_seccion = "Fotograf&iacute;as";
$pagina_nombre = "Nueva Fotograf&iacute;a";
// Header Selection
include_once ('inc/page_header_admin.inc.php');
// Inicializacion de variables
$directorio_upload = "../" . $imagenes_upload;
// Tamaños de imagenes
    $imagen_medida_ancho =     $img_imagenes_ancho;
    $imagen_medida_alto =  $img_imagenes_alto;
    $thumb_medida_ancho = $img_imagenes_tbancho;
    $thumb_medida_alto = $img_imagenes_tbalto;
    // Fechas
    $fecha_actual_dia = date("j");
    $fecha_actual_mes = date("n");
    $fecha_actual_anio = date("Y");
    /* funcion de subir imagenes*/
?>
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="84%" class="rutanavegacion">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="70%" align="left"> <?=$pagina_seccion;?> » <?=$pagina_nombre;?> </td>
<td width="30%" align="right"> <img src="images/ico_reloj.gif" width="17" height="17" hspace="3" align="absmiddle"><?=$fecha_hora;?> </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="84%" align="left" valign="top" class="base">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="194" valign="top" class="fdo_botonera">
<div id=navcontainer2>
<ul id=navlist>
<LI><a href="imagenes2.php">LISTAR FOTOGRAF&Iacute;AS</a></LI>
                <LI><a href="imagenes_alta_conarrays.php">NUEVA FOTOGRAF&Iacute;A</a></LI>
                <LI><a href="imagenes_categorias.php">LISTAR GALER&Iacute;AS</a></LI>
                <LI><a href="imagenes_categorias_alta.php">NUEVA GALER&Iacute;A</a></LI>
</ul>
</div>
</td>
<td valign="top">
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="40" class="titulos_internas"><span class="txt_big_azul"><?=$pagina_seccion;?> /</span> <?=$pagina_nombre;?> </td>
</tr>
<tr>
<td valign="top" class="contenido_internas"><br>
<?
$agregar = tomar_variable ('agregar');
if ($agregar) {
    // Validations
        $error_message = "";
        /*if ($userfile1 == "") $error_message .= "
<li>El campo <strong>Fotograf&iacute;a</strong> es obligatorio. </li>
";
        else {
            // Check Existent Username
            $valrs=mysql_query("SELECT * FROM $tabla_imagenes WHERE imagen= '$userfile1'") or die(mysql_error());
            $existuser = mysql_num_rows($valrs);
            if ($existuser > 0) $error_message .= "
<p>Error en nombre de Fotograf&iacute;a: Ya existe una imagen con ese nombre</p>
";
        }*/
    if ($error_message) {
        // Eliminar imagen temporal
        if (($fimagen1 != "") && ($fimagen1 != "E")) {
                $fimagen = $imagenes_upload . $fimagen1;
                $fimagentb = $imagenes_upload . $fimagen1tb;
                if (file_exists($fimagen)) unlink($fimagen);
                if (file_exists($fimagentb)) unlink($fimagentb);
        }
        // Dispay error
        $error_message = "
<ul>
" . $error_message . "
</ul>
";
        ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber1">
<tr>
<td width="100%" align="left">
              <DIV id=textcontent>
                <P><b><img src="images/ico_alerta.gif" width="22" height="20" hspace="4" align="absmiddle">
                Por favor verifique los siguientes errores:</b><br>
                <br><br><?=$error_message;?> </P>
<p> </p>
<P align="right">
                <a href="javascript:history.go(-1)">
                <img border="0" src="images/bt_volver.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
                </p>
</DIV>
            </td>
</tr>
</table>
</div>
<?
    }
    else {
         //este for recorre el arreglo
            $tot = count($_FILES['userfile1']['name']);
            for ($i=0;$i<$tot;$i++) {                  
                if (!empty($_FILES['userfile1']['name'][$i])) {        
    // Cargar Imagen
    $userfile1= $_FILES['userfile1']['name'][$i];
    if ($userfile1 != "") $fimagen1 = img_upload_multiple ($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name'][$i]);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);
            // Agregar a la base de datos
            mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl', '$fimagen1', '$fimagen1tb', '$fpie_foto_l1', '$fpie_foto_l2', '$fpie_foto_l3', '$fautor')") or die(mysql_error());
        /*    $insert = "INSERT INTO $tabla_imagenes (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor)  VALUES ('', '$fcategoria', '$furl[$i]', '$fimagen1[$i]', '$fimagen1tb[$i]', '$fpie_foto_l1[$i]', '$fpie_foto_l2[$i]', '$fpie_foto_l3[$i]', '$fautor[$i]')";
echo $insert . '<br>';
mysql_query($sql); */
            }
            }
    ?>
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="90%" id="AutoNumber2">
<tr>
<td width="100%" align="left">    
          <DIV id=textcontent>
            <P><b><img src="images/ico_exito.gif" width="22" height="20" hspace="4" align="absmiddle"></b><b class="txt_verde_tit">
            La Fotograf&iacute;a ha sido agregada.</b><br>
            <br></P>
<p> </p>
<P align="right">
            <a href="imagenes2.php">
            <img border="0" src="images/bt_continuar.gif" align="right"></a> <img src="images/spacer.gif" align="right" width="20" height="1">
            </p>
</DIV>    
        </td>
</tr>
</table>
</div>
<?
    }
}
else {
?>              
            <!-- Comienzo de Form -->
<table width="100%"  border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" class="tabla_g_idbt" style="border-collapse: collapse">
<form action="<? echo $url_this;?>" method="post" enctype="multipart/form-data" name="form1">
 <input name="agregar" type="hidden" value="go">            
<tr>
<td colspan="2" class="tabla_w_idb"><span class="txt_verde_mini">
        <b><img src="images/ico_flecha_vde.gif" width="4" height="7" hspace="2">Datos de la Imagen </b></span></td>
</tr>
<tr>
<td class="tabla_g_itb">Categor&iacute;a</td>
<td class="tabla_g_itb">
        <select name="fcategoria" class="form">
        <option value selected="#"> - Seleccionar - </option>
            <?
            $rsx=mysql_query("SELECT * FROM $tabla_categorias WHERE categoria_tipo = 'Categoria'  ORDER BY categoria_orden ASC") or die(mysql_error());
            $ix = 0;  
            $cantx = mysql_num_rows($rsx);                
            if  ($cantx <= 0) echo "<option value=''>No hay Categorias para listar.</option>";
            else {
                $ix=-1;
                while (($ix+1)< $cantx) {
                    $ix++;
                    $lcategoria_id=mysql_result($rsx,$ix,"categoria_id");
                    $lcategoria_url=mysql_result($rsx,$ix,"categoria_url");
                    $lcategoria_nombre=mysql_result($rsx,$ix,"categoria_nombre_l1");
                    ?>
                      <?
                       // Cargar Datos SUB-CATEGORIAS
                    $rss=mysql_query("SELECT * FROM $tabla_categorias WHERE categoria_url_referencia = '$lcategoria_url' AND categoria_tipo = 'Sub-Categoria' ORDER BY categoria_orden ASC") or die(mysql_error());
                    $cants = mysql_num_rows($rss);
                    $is=-1;
                    while (($is+1)< $cants) {
                        $is++;
                        $scategoria_id=mysql_result($rss,$is,"categoria_id");
                        $scategoria_url=mysql_result($rss,$is,"categoria_url");
                        $scategoria_nombre=mysql_result($rss,$is,"categoria_nombre_l1");
                        ?>
                          <option value = "<?=$scategoria_url;?>"> <?=$lcategoria_nombre;?> -- <?=$scategoria_nombre;?></option>
                          <?
                    }
                 }
            }
            ?>
        </select></td>
</tr>
<?php
                $i=0;
              for ($i=0;$i<=4;$i++) {
            ?>
<tr>
<td class="tabla_g_itb">Fotograf&iacute;a 1 </td>
<td class="tabla_g_itb"> <input type="file" name="userfile1[<?php echo $i; ?>]" class="form"  size="20"/></td>
</tr>
<tr>
<td class="tabla_g_itb">Autor 1 </td>
<td class="tabla_g_itb"><input name="fautor[<?php echo $i; ?>]" type="text" class="form" value="" size="30"/>                  </td>
</tr>
<tr>
<td width="84" height="25" class="tabla_g_itb">Pie de Foto 1 </td>
<td width="446" class="tabla_g_itb">
                    <input name="fpie_foto_l1[<?php echo $i; ?>]" type="text" class="form" value="" size="30"> <? if ($sitio_idiomas > 1) { ?>(<?=$idioma1;?>)<br><? } ?>
                <? if ($idioma2 != "") { ?><input name="fpie_foto_l2[<?php echo $i; ?>]" type="text" class="form" value="" size="30" > (<?=$idioma2;?>) <br><? } ?>
                <? if ($idioma3 != "") { ?> <input name="fpie_foto_l3[<?php echo $i; ?>]" type="text" class="form" value="" size="30"> (<?=$idioma3;?>) <br><? } ?>        </td>
</tr>
<? } ?>
<tr>
<td class="tabla_boton"> </td>
<td class="tabla_boton"> </td>
</tr>
<tr>
<td class="tabla_boton" colspan="2"><input type="image" value="Enviar" name="B1" src="images/bt_enviar.gif" align="right"> </a></td>
</tr>
</form>
</table>
<!-- fin de Form -->
<? } ?>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<?
include_once ('inc/page_footer_admin.inc.php');
?>
Muchas gracias pero nada.
Te cuento:
Si lo hago como tu me dices pero sin modificar la imagen no me sube las imagenes, pero si me guarda bien todos los demás campos en la bbdd menos el nombre de la imagen, cosa curiosa que tamben coge el nombre de la imagen en el campo url.
Si modifico la funcion de subir imagenes asi:
function img_upload_multiple($upload_dir, $imgancho, $imgalto, $resize, $thumnail, $tbancho, $tbalto) {
global $upload_url;
 if (isset ($_FILES['userfile1'])) {
    $tot = count($_FILES['userfile1']["name"]);
    for ($i = 0; $i < $tot; $i++){   
    $temp_name = $_FILES['userfile1']['tmp_name'][$i];
        $file_name = $_FILES['userfile1']['name'][$i];
        $file_type = $_FILES['userfile1']['type'][$i];
        $file_size = $_FILES['userfile1']['size'][$i];
        $result    = $_FILES['userfile1']['error'][$i];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;    
    if (is_uploaded_file($_FILES['userfile1']['tmp_name'][$i])) {
        $temp_name = $_FILES['userfile1']['tmp_name'][$i];
        $file_name = $_FILES['userfile1']['name'][$i];
        $file_type = $_FILES['userfile1']['type'][$i];
        $file_size = $_FILES['userfile1']['size'][$i];
        $result    = $_FILES['userfile1']['error'][$i];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;
        $ver=0;
        while ( file_exists($file_path) ) {
            $ver++;
            $new_file_name = "[".$ver."]".$file_name;
            $file_path = $upload_dir.$new_file_name;
            $file_url  = $upload_url.$new_file_name;
        }
        if (move_uploaded_file($temp_name, $file_path) ) {
        $fimagen = $new_file_name;    
        if (($thumnail == "Si")&&($File_extension != ".swf")) {
            $fthumb =  img_thumb($file_path, $tbancho, $tbalto, "", "tb_", "No");         
        }
        if (($resize == "Si")&&($File_extension != ".swf")) {
            $fimagenx =  img_thumb($file_path, $imgancho, $imgalto, "", "", "Si");
        }
        return $fimagen;
        }
    }    
    else {
        if ( $file_name == "") {
            $message = "";
            return $message;
        }
        else $message .= "E";
    }
    return $message;
}
 }
 else return "";
}
Me sube solo una imagen pero en el nombre de las mismas tampoco me las guarda bien, pero si el campo url como antes (el nombre de la imagen se guarda en ese campo)
Asi que sigo pensando que es la función. Y algo de este archivo que hace que no recoga bien el nombre de las imagenes.
Una rectificación:
Al dejar la función como te he dicho anteriormente, Me sube solo la imagen del primer input y me guarda el primer registro bien, es decir, todos los campos completos, nombre de imagen incluida, pero el segundo registro me hace todo bien menos guardarme la imagen en el servidor y el nombre de la imagen en su correspondiente sitio.
Así que andamos cerca!! Eso está claro, así que quizás no estemos recogiendo bien el valor de la variable userfile1 no? digo yo.....
Bueno, si te apetece tomarte un respiro lo entiendo, quizás en otromomento seguimos si te apetece, pero creo que estamos en la recta final, jejejee!!
yo seguiré haciendo pruebas y si lo consigo te digo.
Buf!! en que lios me meto!
En fin, muchas gracias por tu gran ayuda, espero que podamos terminar con esto en condiciones.
Un saludo
Si quieres me pasas el codigo completo asi lo miro mejor y puedo probar, y otra sugerencia, trata de meterme a programar con objetos, se te va a facilitar mucho debbugear el código ya que el código "spaguetti" (como se lo suele llamar) que usas, es muy poco mantenible y casi nada extendible.
Como creo que no me entendiste bien me tomé el trabajo de armar un formulario chiquito similar al tuyo y un php que reciba los datos, para que veas la manera en la que yo te sugiero que lo hagas. Obvié cuestiones de validaciones y demás que no vienen al caso, te voy a poner el código de dos archivos: form_foto.php que es el que envía y fotos.php que es el que los recibe, crealos y pruebalos:
form_foto.php:
<!-- Comienzo de Form -->
<table width="100%"  border="0" cellpadding="0" cellspacing="0" bordercolor="#111111" class="tabla_g_idbt" style="border-collapse: collapse">
<form action="fotos.php" method="post" enctype="multipart/form-data" name="form1">
<?php
    $i=0;
    for ($i=0;$i<=4;$i++) {
?>
<tr>
<td class="tabla_g_itb"><b>Fotograf&iacute;a <?php echo $i + 1 ?></b></td>
<td class="tabla_g_itb"> <input type="file" name="userfile1[<?php echo $i; ?>]" class="form"  size="20"/></td>
</tr>
<tr>
<td class="tabla_g_itb">Autor</td>
<td class="tabla_g_itb"><input name="fautor[<?php echo $i; ?>]" type="text" class="form" value="" size="30"/>                  </td>
</tr>
<tr>
<td width="84" height="25" class="tabla_g_itb">Pie de Foto 1 </td>
<td width="446" class="tabla_g_itb">
  <input name="fpie_foto_l1[<?php echo $i; ?>]" type="text" class="form" value="" size="30"><br>
  <input name="fpie_foto_l2[<?php echo $i; ?>]" type="text" class="form" value="" size="30"><br>
  <input name="fpie_foto_l3[<?php echo $i; ?>]" type="text" class="form" value="" size="30"><br>
  </td>
</tr>
<tr>
<td class="tabla_g_itb" colspan="2">-------------------------------------------------------------------------------</td>
<tr>
<tr>
<? } ?>
<tr>
<td class="tabla_boton"> </td>
<td class="tabla_boton"> </td>
</tr>
<tr>
<td class="tabla_boton" colspan="2"><input type="submit" value="Enviar" name="B1" align="right"> </a></td>
</tr>
</form>
</table>
<!-- fin de Form -->
fotos.php
<?php
for ($i=0; $i <=4; $i++) {
 $num = $i + 1;
 $fimagen = $_FILES['userfile1']['name'][$i];
 $fautor = $_POST['fautor'][$i];
 $pie1 = $_POST['fpie_foto_l1'][$i];
 $pie2 = $_POST['fpie_foto_l2'][$i];
 $pie3 = $_POST['fpie_foto_l3'][$i];
 echo '<b>Archivo ' . $num . '</b>: ' . $fimagen . '<br>';
 echo 'Autor: ' . $fautor . '<br>';
 echo 'Pie idioma 1: ' . $pie1 . '<br>';
 echo 'Pie idioma 2: ' . $pie2 . '<br>';
 echo 'Pie idioma 3: ' . $pie3 . '<br>';
 echo "INSERT INTO jazzvitoria_imagenes2 (imagen, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('$fimagen', '$pie1', '$pie2', '$pie3', '$fautor')" . '<br>';
echo '---------------------------------------------------------------------------
<p>';
}
?>
Simule unos insert para que veas que las variables llegan correctamente.
Hola de nuevo!!
Muchas gracias por tu modelo de formulario.
Unas cosas antes, lo de codigo espagueti si tienes toda la razón, suelo crear funciones y variables que me sirvan para reutilizarlas asi trabajo menos, todo lo monto así, en fin soy una vaga, y bueno decirte que no sé si el ejemplo que me has mandado parece que si que recoge los datos.
Tal y como te he comentado en otras ocasiones mi problema es la función de subir los archivos que no sé como modificarla  por otro lado me he fijado que tienes algunas cosas distintas.
Para empezar solo usas un for yo tengo dos y debajo de ese for tienes una variable que incrementa 1 su valor, eso yo no lo tenía, voy a probarlo y te cuento.
Y lo de pasarte todo completo, creo que te pasé ya todo, funciones y archivo completo.
Pero si lo quieres te lo paso no tengo problema. Pero primero voy a hacer la prueba a ver que tal se me da.
gracias de nuevo!!
Ei!!
Lo he probado como tu lo has hecho y me ingresa todo bien en la bbdd, me falta solo subir las imagenes.
Mira, lo he modificado y lo he puesto así.
for ($i=0; $i <=4; $i++) {
             $num = $i + 1;                
                if (!empty($_FILES['userfile1']['name'][$i])) {
             $fimagen = $_FILES['userfile1']['name'][$i];
            if ($fimagen != "") $fimagen1 = img_upload_multiple($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name'][$i]);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);   
            // Agregar a la base de datos
            mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl', '$fimagen', '$fimagentb', '$fpie_foto_l1', '$fpie_foto_l2', '$fpie_foto_l3', '$fautor')") or die(mysql_error());
            }
            }
Fijate en la variable de la imagen
   $fimagen = $_FILES['userfile1']['name'][$i];
            if ($fimagen != "") $fimagen1 =
img_upload_multiple($directorio_upload, $imagen_medida_ancho,
$imagen_medida_alto, "No", "Si", $thumb_medida_ancho,
$thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
He puesto un 1 y ahora si que me inserta el nombre de las imagenes pero me sigue subiendo solo una. Te pongo aqui la función de subir la imagen y me dices si la tengo bien, porque yo le he puesto la variable $i pero parece que no lo duplica, com podría hacerlo?
function img_upload_multiple($upload_dir, $imgancho, $imgalto, $resize, $thumnail, $tbancho, $tbalto) {
global $upload_url;
 if (isset ($_FILES['userfile1'])) {
    $tot = count($_FILES['userfile1']["name"]);
    for ($i = 0; $i < $tot; $i++){  
    $temp_name = $_FILES['userfile1']['tmp_name'][$i];
        $file_name = $_FILES['userfile1']['name'][$i];
        $file_type = $_FILES['userfile1']['type'][$i];
        $file_size = $_FILES['userfile1']['size'][$i];
        $result    = $_FILES['userfile1']['error'][$i];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;   
    if (is_uploaded_file($_FILES['userfile1']['tmp_name'][$i])) {
        $temp_name = $_FILES['userfile1']['tmp_name'][$i];
        $file_name = $_FILES['userfile1']['name'][$i];
        $file_type = $_FILES['userfile1']['type'][$i];
        $file_size = $_FILES['userfile1']['size'][$i];
        $result    = $_FILES['userfile1']['error'][$i];
        $file_url  = $upload_url.$file_name;
        $file_path = $upload_dir.$file_name;
        $new_file_name=$file_name;
        $ver=0;
        while ( file_exists($file_path) ) {
            $ver++;
            $new_file_name = "[".$ver."]".$file_name;
            $file_path = $upload_dir.$new_file_name;
            $file_url  = $upload_url.$new_file_name;
        }
        if (move_uploaded_file($temp_name, $file_path) ) {
        $fimagen = $new_file_name;   
        if (($thumnail == "Si")&&($File_extension != ".swf")) {
            $fthumb =  img_thumb($file_path, $tbancho, $tbalto, "", "tb_", "No");        
        }
        if (($resize == "Si")&&($File_extension != ".swf")) {
            $fimagenx =  img_thumb($file_path, $imgancho, $imgalto, "", "", "Si");
        }
        return $fimagen;
        }
    }   
    else {
        if ( $file_name == "") {
            $message = "";
            return $message;
        }
        else $message .= "E";
    }
    return $message;
}
 }
 else return "";
}
De antemano mil gracias!!
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">for ($i=0; $i <=4; $i++) {
             $num = $i + 1;                 
                if (!empty($_FILES['userfile1']['name'][$i])) {
             $fimagen = $_FILES['userfile1']['name'][$i];
            if ($fimagen != "") $fimagen1 = img_upload_multiple($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name'][$i]);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);    
            // Agregar a la base de datos
            mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl', '$fimagen', '$fimagentb', '$fpie_foto_l1', '$fpie_foto_l2', '$fpie_foto_l3', '$fautor')") or die(mysql_error());
            }
 for ($i=0; $i <=4; $i++) {
             $num = $i + 1;                
                if (!empty($_FILES['userfile1']['name'][$i])) {
             $fimagen = $_FILES['userfile1']['name'][$i];
            if ($fimagen != "") $fimagen1 = img_upload_multiple($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto);
    $fimagen1tb = "tb_" . $fimagen1;
    // Cargar Datos
    $fcategoria =   format_text($_POST['fcategoria']) ;
    $furl = limpiarURL($_FILES['userfile1']['name'][$i]);
    $fpie_foto_l1 = format_text($_POST['fpie_foto_l1'][$i]);
    $fpie_foto_l2 = format_text($_POST['fpie_foto_l2'][$i]);
    $fpie_foto_l3 = format_text($_POST['fpie_foto_l3'][$i]);
    $fautor = format_text($_POST['fautor'][$i]);   
            // Agregar a la base de datos
            mysql_query("INSERT INTO jazzvitoria_imagenes2 (id, categoria_url, url, imagen, imagen_thumb, pie_foto_l1, pie_foto_l2, pie_foto_l3, autor) VALUES ('', '$fcategoria', '$furl', '$fimagen', '$fimagentb', '$fpie_foto_l1', '$fpie_foto_l2', '$fpie_foto_l3', '$fautor')") or die(mysql_error());
            }
            }           }</div>
¿Por qué haces un for de $_FILES dentro de la función img_upload_multiple() si la función ya se encuentra dentro de un for? Creo que estas recorriendo dos veces lo mismo, la función sólo debe subir una sola imágen en cada iteración del for principal
Hola de nuevo!!
Pues siento decirte que si le quito el for y las variables $i no me sube ni una, por lo menos así me sube la imagen del primer registro.
Así que ... que hago?? ya no se me ocurre nada más.
:(
Quitá el for y pasale por función el índice que sería el valor de $i en cada momento:
$fimagen = $_FILES['userfile1']['name'][$i];
            if ($fimagen != "") $fimagen1 = img_upload_multiple($directorio_upload, $imagen_medida_ancho, $imagen_medida_alto, "No", "Si", $thumb_medida_ancho, $thumb_medida_alto, $i);
y en la función quita el for y usa este índice:
function img_upload_multiple($upload_dir, $imgancho, $imgalto, $resize, $thumnail, $tbancho, $tbalto, $indice) {
global $upload_url;
 if (isset ($_FILES['userfile1'])) {
   ----- no va $tot = count($_FILES['userfile1']["name"]);
   ----- no va  for ($i = 0; $i < $tot; $i++){  
    $temp_name = $_FILES['userfile1']['tmp_name'][$indice];
     $file_name = $_FILES['userfile1']['name'][$indice];
Etc, etc.
Ole, Ole y Ole!!!!!!!!!!!!
Por fin!!!!!!!!!
Ya está, ya funciona todo a la perfección!!
Muchas pero que muchas gracias, me has ayudado mucho pero mucho!!!
Un abrazo enorme!!!
Bea

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas