Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/04/2007, 18:40
Avatar de el cirujano
el cirujano
 
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: multiples uploads - thumbnails

Concideraciones:

.- En tu Script en la parte HTML solo estas solicitando 1 sola imagen llamada "Imagen central (imgcentral)", osea, solo estas subiendo 1 sola imagen....

.- No se si es que quieres meter los nombre de imagenes en la misma linea (row) de la tabla "templates" o si será 1 linea (row) por cada imagen....

archivo formulario.php o html es indiferente
Código PHP:
<form method="post" action="upload.php" name="add_news" enctype="multipart/form-data">
<
table width="477" cellspacing="3" cellpadding="0">
  <!--
DWLayoutTable-->
<
tr>
<
td width="164" valign="top">
  <
b>Titulo:</b></td>
<
td colspan="2" valign="top">
  <
input type="text" name="titulo" size="35"></td>
</
tr>
<
tr>
<
td valign="top">
  <
b>Fecha:</b></td>
<
td colspan="2" valign="top">
  <
input type="text" name="fecha" size="35"></td>
</
tr>
<
tr>
<
td valign="top">
  <
b>Descripcion:</b></td>
<
td colspan="2" valign="top">
  <
textarea name="descripcion" cols="35" rows="3"></textarea></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
tr>
  <
td valign="top">
    <
b>Imagen central :</b></td>
<
td colspan="2" valign="top">
  <
input name="imgcentral[]" type="file" value="" size="35" /></td>
</
tr>
<
input type=hidden name=cantidad_de_imagenes value=7>

<
tr>
  <
td valign="top">
    <
input type="password" name="password" size="5"></td>
<
td width="79" valign="top">
    <
input type="submit" name="submit" value="Crear template"></td>
<
td width="214"></td>
</
tr>

<
tr>
  <
td></td>
  <
td></td>
  <
td></td>
</
tr>
</
table>
</
form
archivo upload.php
Código PHP:
<?
include("config.php");
include(
"mysql.php");
function 
createThumb($image$newname,$tamanominimoancho)
                                {
                                    
$size getimagesize ($image);
                                    
$tipoexif_imagetype($image);
                                    
$height $size[1];
                                    
$width $size[0];
                                        if (
$width $height)
                                            {
                                                
$newwidth $tamanominimoancho;
                                                
$newheight round(($height*$tamanominimoancho)/$width);
                                            }
                                            else
                                            {
                                                
$newheight $tamanominimoancho;
                                                
$newwidth round(($width*$tamanominimoancho)/$height);
                                            }
                                switch(
$tipo)
                                    {
                                        case 
'2':
                                        
$src = @imagecreatefromjpeg($image) or die("problemas con la imagen $image");
                                        break;
                                        case 
'1':
                                        
$src = @imagecreatefromgif($image) or die("problemas con la imagen $image");
                                        break;
                                        case 
'3':
                                        
$src = @imagecreatefrompng($image) or die("problemas con la imagen $image");
                                        break;
                                    }
                                    
$im imagecreatetruecolor($newwidth,$newheight);
                                    
imagecopyresampled($im,$src,0,0,0,0,$newwidth,$newheight,$width,$height);
                                    
//echo $newname;
                                    
imagejpeg($im$newname,50);
                                    
imagedestroy($im);
                                }
$N $_POST[cantidad_de_imagenes]; //cantidad de archivos a subir
for($i=0$i<$N$i++)
    {
        if  (
is_uploaded_file($HTTP_POST_FILES['imgcentral']['tmp_name'][$i]))
            {
                
$no_doc $HTTP_POST_VARS['no_web_doc'][$i];
                
$split_path split("/"$HTTP_POST_FILES['imgcentral']['name'][$i]);
                
$split_path end ($split_path);
                
$tamanominimoancho=300;
                            
                if (
end($extension) == "php" || end($extension) == "php3")
                        {
                            echo 
"tipo de archivo invalido";
                        }
                        else
                        {
                        
                            
// solicitud de datos
                            
$titulo $_POST['titulo'];
                            
$descripcion $_POST['descripcion'];
                            
$fecha $_POST['fecha'];
                            
$password $_POST['password'];
                            
// Procesa el subir la imagen
                            
$RUTA_UPLOADED "./imagenes/";
                            
$dirmini "./imagenes/miniaturas/";
                            
$NOMBRE_FILE $split_path;
                            
move_uploaded_file($HTTP_POST_FILES['imgcentral']['tmp_name'][$i], $RUTA_UPLOADED $NOMBRE_FILE);
                            
createThumb($RUTA_UPLOADED.$NOMBRE_FILE$dirmini."mini_".$NOMBRE_FILE,$tamanominimoancho);
                            
$imgcentral $NOMBRE_FILE;
                            
//graba en la Base de datos
                            
$sql mysql_query("INSERT INTO tabla VALUES('$titulo', '$fecha', '$descripcion', '$imgcentral') "); //elimine campos que son innecesarios ya que con colocarle mini_ $mini_imgcentral puedes obtener el nombre de las imagenes
                        
}
            }
    }
?>
ahora, este script te sube 7 imagenes perfectamente a la ruta /imagenes/ y hace las thumbs automaicamente
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!