Foros del Web » Programando para Internet » PHP »

Upload file y MySQL

Estas en el tema de Upload file y MySQL en el foro de PHP en Foros del Web. Bueno pues vuelvo al ataque por aqui haber si me podeis echar una mano. Resulta que tengo un un formulario con el cual subir imagenes ...
  #1 (permalink)  
Antiguo 27/05/2010, 05:37
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Upload file y MySQL

Bueno pues vuelvo al ataque por aqui haber si me podeis echar una mano.

Resulta que tengo un un formulario con el cual subir imagenes a una carpeta al servidor y el nombre de esa imagen y su miniatura a la base de datos, hasta aqui todo bien, funciona correctamente, pero solo con una imagen y su miniatura.

El problema viene cuando intento subir varias imagenes (5 imagenes) al servidor y sus respectivos nombres a la base de datos, he intentado modificar el archivo upload.php para ello pero solo me sube una imagen.

La estructura por ejemplo es:

ID - Titulo - Descripcion - Image1 - Imagen1 | Image2 - Imagen2 | Image3 - Imagen3, etc..

Todo metido en la misma tabla.

He visto ejemplos de mutliples uploads, pero los nombres me los inserta de esta manera:

ID - Titulo - Image1
ID - Titulo - Image2, etc..

Nunca un ID y las multiples imagenes, o por lo menos no lo he encontrado, he mirado tambien las FAQ´s, pero lo que he visto solo es con un archivo.

Os dejo el codigo del upload que me sube la imagen y me inserta el nombre en MySQL, por si podeis echarme un cable.

Código PHP:
<?php
// ------------------------------------------------------------------------------------- Indicamos el rango de numeros.
    
$random_digit=rand(0000,9999);
    for(
$i=0;$i<count($random_digit.$_FILES["fileUpload"]["name"]);$i++)
    {
        if(
trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
        {
            
$images $_FILES["fileUpload"]["tmp_name"][$i];            
            
$new_images $random_digit."Thumbnails_".$_FILES["fileUpload"]["name"][$i];
            
copy($_FILES["fileUpload"]["tmp_name"][$i],".././uploads/".$random_digit.$_FILES["fileUpload"]["name"][$i]);
// ------------------------------------------------------------------------------------- Indicamos el tamaño de la miniatura, solo ancho, el alto se autocalcula.
            
$width=100
            
$size=GetimageSize($images);
            
$height=round($width*$size[1]/$size[0]);
            
$images_orig ImageCreateFromJPEG($images);
            
$photoX ImagesX($images_orig);
            
$photoY ImagesY($images_orig);
            
$images_fin ImageCreateTrueColor($width$height);
            
ImageCopyResampled($images_fin$images_orig0000$width+1$height+1$photoX$photoY);
            
ImageJPEG($images_fin,".././uploads/".$new_images);
            
ImageDestroy($images_orig);
            
ImageDestroy($images_fin);

// ------------------------------------------------------------------------------------- Incluimos el archivo de conexion a MYSQL.    
    
include("./conexion.php");
     
// ------------------------------------------------------------------------------------- Insertamos el contenido del formulario en MYSQL.    
    
$sql "INSERT INTO servalq ";
    
$sql .="(servalq_Image1,servalq_Imagen1,servalq_Ref,servalq_Titulo,servalq_Pvp,servalq_Descripcion,servalq_Localidad,servalq_Provincia,servalq_Postal,servalq_Direccion,servalq_Planta,servalq_Dormitorios,servalq_Banos,servalq_Metros,servalq_Ascensor,servalq_Piscinap,servalq_Jardinp,servalq_Garaje,servalq_Extra1,servalq_Extra2,servalq_Extra3,servalq_Extra4,servalq_Extra5,servalq_Extra6,servalq_Extra7,servalq_Extra8,servalq_Extrai1,servalq_Extrai2,servalq_Extrai3,servalq_Extrai4,servalq_Extrai5,servalq_Extrai6,servalq_Extrai7,servalq_Extrai8) VALUES ('".$new_images."','".$random_digit.$_FILES["fileUpload"]["name"][$i]."','".$_POST["servalq_Ref"]."','".$_POST["servalq_Titulo"]."','".$_POST["servalq_Pvp"]."','".$_POST["servalq_Descripcion"]."','".$_POST["servalq_Localidad"]."','".$_POST["servalq_Provincia"]."','".$_POST["servalq_Postal"]."','".$_POST["servalq_Direccion"]."','".$_POST["servalq_Planta"]."','".$_POST["servalq_Dormitorios"]."','".$_POST["servalq_Banos"]."','".$_POST["servalq_Metros"]."','".$_POST["servalq_Ascensor"]."','".$_POST["servalq_Piscinap"]."','".$_POST["servalq_Jardinp"]."','".$_POST["servalq_Garaje"]."','".$_POST["servalq_Extra1"]."','".$_POST["servalq_Extra2"]."','".$_POST["servalq_Extra3"]."','".$_POST["servalq_Extra4"]."','".$_POST["servalq_Extra5"]."','".$_POST["servalq_Extra6"]."','".$_POST["servalq_Extra7"]."','".$_POST["servalq_Extra8"]."','".$_POST["servalq_Extrai1"]."','".$_POST["servalq_Extrai2"]."','".$_POST["servalq_Extrai3"]."','".$_POST["servalq_Extrai4"]."','".$_POST["servalq_Extrai5"]."','".$_POST["servalq_Extrai6"]."','".$_POST["servalq_Extrai7"]."','".$_POST["servalq_Extrai8"]."')";
            
$objQuery mysql_query($sql);
        }
    }
        
?>
<?php
error_reporting
(E_ALL & ~E_NOTICE); 
session_start();
if(!isset(
$_SESSION["k_username"]))
{
   
header('Location: scp-login.php');
   exit;
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SCP - Administracion</title>
<meta name="author" content="Frank J. Galbeño">
<meta name="generator" content="MarbellaPC - http://www.marbellapc.com">
<style type="text/css">
div#container
{
   width: 800px;
   position: relative;
   margin-top: 0px;
   margin-left: auto;
   margin-right: auto;
   text-align: left;
}
body
{
   text-align: center;
   margin: 0;
}
</style>
<style type="text/css">
#TabMenu2
{
   float: left;
   width: 100%;
   font-family: Arial;
   font-size: 13px;
   line-height: normal;
   border-bottom: 1px solid #000000;
}
#TabMenu2 ul
{
   margin: 0;
   padding: 10px 0px 3px 10px;
   list-style: none;
}
#TabMenu2 li
{
   display: inline;
   margin: 0;
   padding: 0;
}
#TabMenu2 a
{
   float: left;
   background: url(".././scp/images/style02left.gif") no-repeat left top;
   margin: 0;
   padding: 0 0 0 4px;
   text-decoration: none;
}
#TabMenu2 a span
{
   float: none;
   display: block;
   background: url(".././scp/images/style02right.gif") no-repeat right top;
   padding: 5px 15px 4px 6px;
   color: #FFFFFF;
   font-weight: bold;
   text-decoration: none;
}
#TabMenu2 a:hover span
{
   background-position: 100% -42px;
   color: #FFFFFF;
   font-weight: bold;
   font-style: normal;
   text-decoration: none;
}
#TabMenu2 a:hover
{
   background-position: 0% -42px;
}
#TabMenu2 #active a
{
   background-position: 0% -84px;
}
#TabMenu2 #active a span
{
   background-position: 100% -84px;
   color: #FFFFFF;
   font-weight: bold;
   text-decoration: none;
}
</style>
<style type="text/css">
.Estilo1 {color: #FFFFFF}
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="container">
<div id="wb_Image2" style="overflow:hidden;position:absolute;left:0px;top:0px;z-index:0" align="left">
<a href="http://www.forosdelweb.com/f18/./scp/scp-admin.php"><img src="http://www.forosdelweb.com/f18/./scp/images/serv-basic.jpg" id="Image2" alt="" align="top" border="0" style="width:300px;height:75px;"></a></div>
<div id="wb_Image3" style="overflow:hidden;position:absolute;left:427px;top:0px;z-index:2" align="left">
<img src="http://www.forosdelweb.com/f18/./scp/images/administracion.jpg" id="Image3" alt="" align="top" border="0" style="width:276px;height:69px;"></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center">Registro agregado correctamente, pulse <a href="http://www.forosdelweb.com/f18/./scp/scp-rent.php">AQUI</a> para volver al menu de Alquiler.</p>
</div>
</div>
</body>
</html>
Saludos y gracias por adelantado.
  #2 (permalink)  
Antiguo 27/05/2010, 10:15
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Upload file y MySQL

Tienes el form html para verlo...?
  #3 (permalink)  
Antiguo 27/05/2010, 12:03
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Buenas y gracias por contestar, si tengo el form.

Te comento, en la base de datos los campos de las imagenes y las miniaturas, los campos son:

servalq_Image1, servalq_Imagen1, servalq_Image2, servalq_Imagen2, servalq_Image3, servalq_Imagen3, asi hasta cinco, el problema lo que he comentado en el primer post, no encuentro manera de que me suba las imagenes a la carpeta y los nombres a MySQL.

Solo me sube una imagen, su miniatura y su nombre, he mirado un ejemplo para subir multiples archivos, pero como digo me crea un registro por foto, en vez de un registro y cinco fotos.

Aqui el codigo del form, que he dejado solo con la subida de una foto por eso los otros campos aparecen con texto plano.

Código HTML:
<div style="border:#666666 solid 1px; background-color:#f4f3f3">
<table width="790" border="0">
<form enctype="multipart/form-data" action=".././includes/upload-rent.php" method="POST">
  <span class="titulo">- Insertar datos propiedad</span>
  <tr>
    <td width="200"><div align="right">
    <div align="right">Referencia:</div></td>
    <td width="200"><input name="servalq_Ref" type="text" value="" size="25" rows="70" /></td>
    <td width="190"><div align="right">Propiedad:</div></td>
    <td width="200"><input name="servalq_Titulo" type="text" value="" size="25" rows="70" /></td>
  </tr>
  <tr>
    <td><div align="right">Localidad:</div></td>
    <td><input name="servalq_Localidad" type="text" value="" size="25" rows="70" /></td>
    <td><div align="right">Provincia:</div></td>
    <td><input name="servalq_Provincia" type="text" value="" size="25" rows="70" /></td>
  </tr>
  <tr>
    <td><div align="right">Direccion:</div></td>
    <td><input name="servalq_Direccion" type="text" value="" size="25" rows="70" /></td>
    <td><div align="right">C.Postal:</div></td>
    <td><input name="servalq_Postal" type="text" value="" size="25" rows="70" /></td>
  </tr>
  <tr>
    <td><div align="right">Tamaño:</div></td>
    <td><input name="servalq_Metros" type="text" value="" size="5" rows="70" /></td>
    <td><div align="right">Dormitorios:</div></td>
    <td><input name="servalq_Dormitorios" type="text" value="" size="5" rows="70" /></td>
  </tr>
  <tr>
    <td><div align="right">Baños:</div></td>
    <td><input name="servalq_Banos" type="text" value="" size="5" rows="70" /></td>
    <td><div align="right">Planta:</div></td>
    <td><input name="servalq_Planta" type="text" value="" size="5" rows="70" /></td>
  </tr>
  <tr>
    <td><div align="right">Ascensor:</div></td>
    <td><label>
      <input type="radio" name="servalq_Ascensor" id="servalq_Ascensor" value="Si">
      <input type="radio" name="servalq_Ascensor" id="servalq_Ascensor" value="No">
      </label></td>
    <td><div align="right">Piscina Privada:</div></td>
    <td><label>
      <input type="radio" name="servalq_Piscinap" id="servalq_Piscinap" value="Si">
      <input type="radio" name="servalq_Piscinap" id="servalq_Piscinap" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Jardin Privado:</div></td>
    <td><label>
      <input type="radio" name="servalq_Jardinp" id="servalq_Jardinp" value="Si">
      <input type="radio" name="servalq_Jardinp" id="servalq_Jardinp" value="No">
      </label></td>
    <td><div align="right">Garaje Privado:</div></td>
    <td><label>
      <input type="radio" name="servalq_Garaje" id="servalq_Garaje" value="Si">
      <input type="radio" name="servalq_Garaje" id="servalq_Garaje" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Precio:</div></td>
    <td><input name="servalq_Pvp" type="text" value="" size="25" rows="70" /></td>
    <td><div align="right"></div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><b>Caracteristicas Interiores:</b></td>
    <td>&nbsp;</td>
    <td><b>Caracteristicas Exteriores:</b></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td><div align="right">Interior1:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra1" id="servalq_Extra1" value="Si">
      <<input type="radio" name="servalq_Extra1" id="servalq_Extra1" value="No">
      </label></td>
    <td><div align="right">Exterior1:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai1" id="servalq_Extrai1" value="Si">
      <input type="radio" name="servalq_Extrai1" id="servalq_Extrai1" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior2:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra2" id="servalq_Extra2" value="Si">
      <input type="radio" name="servalq_Extra2" id="servalq_Extra2" value="No">
      </label></td>
    <td><div align="right">Exterior2:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai2" id="servalq_Extrai2" value="Si">
      <input type="radio" name="servalq_Extrai2" id="servalq_Extrai2" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior3:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra3" id="servalq_Extra3" value="Si">
      <input type="radio" name="servalq_Extra3" id="servalq_Extra3" value="No">
      </label></td>
    <td><div align="right">Exterior3:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai3" id="servalq_Extrai3" value="Si">
      <input type="radio" name="servalq_Extrai3" id="servalq_Extrai3" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior4:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra4" id="servalq_Extra4" value="Si">
      <input type="radio" name="servalq_Extra4" id="servalq_Extra4" value="No">
      </label></td>
    <td><div align="right">Exterior4:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai4" id="servalq_Extrai4" value="Si">
      <input type="radio" name="servalq_Extrai4" id="servalq_Extrai4" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior5:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra5" id="servalq_Extra5" value="Si">
      <input type="radio" name="servalq_Extra5" id="servalq_Extra5" value="<No">
      </label></td>
    <td><div align="right">Exterior5:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai5" id="servalq_Extrai5" value="Si">
      <input type="radio" name="servalq_Extrai5" id="servalq_Extrai5" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior6:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra6" id="servalq_Extra6" value="Si">
      <input type="radio" name="servalq_Extra6" id="servalq_Extra6" value="No">
      </label></td>
    <td><div align="right">Exterior6:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai6" id="servalq_Extrai6" value="Si">
      <input type="radio" name="servalq_Extrai6" id="servalq_Extrai6" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior7:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra7" id="servalq_Extra7" value="Si">
      <input type="radio" name="servalq_Extra7" id="servalq_Extra7" value="No">
      </label></td>
    <td><div align="right">Exterior7:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai7" id="servalq_Extrai7" value="Si">
      <input type="radio" name="servalq_Extrai7" id="servalq_Extrai7" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Interior8:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extra8" id="servalq_Extra8" value="Si">
      <input type="radio" name="servalq_Extra8" id="servalq_Extra8" value="No">
      </label></td>
    <td><div align="right">Exterior8:</div></td>
    <td><label>
      <input type="radio" name="servalq_Extrai8" id="servalq_Extrai8" value="Si">
      <input type="radio" name="servalq_Extrai8" id="servalq_Extrai8" value="No">
      </label></td>
  </tr>
  <tr>
    <td><div align="right">Descripcion:</div></td>
    <td colspan="3"><textarea name="servalq_Descripcion" cols="50" rows="8"></textarea></td>
  </tr>
  <tr>
    <td><div align="right">Imagen 01:</div></td>
    <td colspan="3"><div align="left">
      <input name="fileUpload[]" type="file" size="35" />
    </div></td>
  </tr>
  <tr>
    <td><div align="right">Imagen 02:</div></td>
    <td colspan="3">Aqui 2ª Imagen con FileUpload<div align="left"></div></td>
  </tr>
  <tr>
    <td><div align="right">Imagen 03:</div></td>
    <td colspan="3">Aqui 3ª Imagen con FileUpload<div align="left"></div></td>
  </tr>
  <tr>
    <td><div align="right">Imagen 04:</div></td>
    <td colspan="3">Aqui 4ª Imagen con FileUpload<div align="left"></div></td>
  </tr>
  <tr>
    <td><div align="right">Imagen 05:</div></td>
    <td colspan="3">Aqui 5ª Imagen con FileUpload<div align="left"></div></td>
  </tr>
  <tr>
      <td colspan="2"> 
        <div align="right">
          <input type="submit" name="Submit" value="Agregar" />
          <input type="hidden" name="action" value="add" />
      </div></td>
      <td></td>
    </tr>
  </form>
 </table>
</div> 
Saludos y gracias
  #4 (permalink)  
Antiguo 27/05/2010, 12:39
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Upload file y MySQL

Es extensillo...

Lo que he visto por encima es lo siguiente:

<input name="fileUpload[]" type="file" size="35" />

Hay uno solo, para subir multiples ficheros deberia haber mas:

<input name="fileUpload[]" type="file" size="35" />
<input name="fileUpload[]" type="file" size="35" />
<input name="fileUpload[]" type="file" size="35" />
<input name="fileUpload[]" type="file" size="35" />


y ahora fileUpload[] tendra todo los ficheros seleccionados...

Ahora deberas recorrer a $_FILES["fileUpload"]["name"] como se recorre todo array.
  #5 (permalink)  
Antiguo 27/05/2010, 15:42
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Muchas gracias por la respuesta, los imputs que me faltan es que los quite, los tenia puesto antes pero como no me funcionaban los quite.

Lo otro que me dices de "deberas recorrer a $_FILES["fileUpload"]["name"] como se recorre todo array" tendre que investigar un poco, he estado mirando pero no me aclaro, pero bueno ya tengo algo en lo que ocupar el tiempo, je je je

Saludos y de nuevo muchas gracias.
  #6 (permalink)  
Antiguo 27/05/2010, 18:22
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Upload file y MySQL

Bueno investiga, que luego de aprender no te dolera mas la cabeza... Bueno, si...
  #7 (permalink)  
Antiguo 29/05/2010, 13:42
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Bueno pues por aqui ando de nuevo, de momento he conseguido ya poder subir las 5 imagenes al server y el nombre se quede grabado en la base de datos, pero a la hora de crear las miniaturas pues me da error.

Os dejo el codigo por si me podeis iluminar, ya que me da una serie de errores al crear las miniaturas y no doy mas, imagino que tendre que hacer algun foreach o un if, pero por mas que he modificado siempre me salen los mismos errores.

Código PHP:
<?php
if(isset($_POST["submit"])){
   include(
"./includes/conexion.php"); 

            
$uploaddir = ("./uploads/");

   foreach(
$_FILES["fileUpload"]["name"] as $key => $current){

            
$uploadimage $uploaddir basename($current);

   if (!
move_uploaded_file($_FILES["fileUpload"]["tmp_name"][$key], $uploadimage)) {
   echo 
"{$current} Fallo al subir.";
  }

 }
            
$images $_FILES["fileUpload"]["tmp_name"][$key];
            
$new_images "Thumbnails-".$_FILES["fileUpload"]["name"][$key];
            
            
$width=100
            
$size=GetimageSize($images);
            
$height=75;
            
$images_orig ImageCreateFromJPEG($images);
            
$photoX ImagesX($images_orig);
            
$photoY ImagesY($images_orig);
            
$images_fin ImageCreateTrueColor($width$height);
            
ImageCopyResampled($images_fin$images_orig0000$width+1$height+1$photoX$photoY);
            
ImageJPEG($images_fin,$uploaddir.$new_images);
            
ImageDestroy($images_orig);
            
ImageDestroy($images_fin);

mysql_query("INSERT INTO servalq(servalq_Image1, servalq_Imagen1, servalq_Image2, servalq_Imagen2, servalq_Image3, servalq_Imagen3, servalq_Image4, servalq_Imagen4, servalq_Image5, servalq_Imagen5) VALUES('".$new_images."','".$_FILES['fileUpload']['name'][0]."','".$new_images."','".$_FILES['fileUpload']['name'][1]."','".$new_images."','".$_FILES['fileUpload']['name'][2]."','".$new_images."','".$_FILES['fileUpload']['name'][3]."','".$new_images."','".$_FILES['fileUpload']['name'][4]."')") or die(mysql_error());

echo 
"<p>Imagenes subidas</p>";

} else {

?>
<form action="<?php echo $_SERVER["PHP_SELF"?>" method="post" enctype="multipart/form-data">
<input type="file" name="fileUpload[]" /> Pic 1<br />
<input type="file" name="fileUpload[]" /> Pic 2<br />
<input type="file" name="fileUpload[]" /> Pic 3<br />
<input type="file" name="fileUpload[]" /> Pic 4<br />
<input type="file" name="fileUpload[]" /> Pic 5<br />
<input type="submit" name="submit" value="enter" />
</form>
<?php

}

?>
Los errores que me dan
Código:
Warning: getimagesize(C:\wamp\tmp\php3985.tmp) [function.getimagesize]: failed to open stream: No such file or directory in C:\wamp\www\web-service\prueba.php on line 20

Warning: imagecreatefromjpeg(C:\wamp\tmp\php3985.tmp) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\wamp\www\web-service\prueba.php on line 22

Warning: imagesx(): supplied argument is not a valid Image resource in C:\wamp\www\web-service\prueba.php on line 23

Warning: imagesy(): supplied argument is not a valid Image resource in C:\wamp\www\web-service\prueba.php on line 24

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in C:\wamp\www\web-service\prueba.php on line 26

Warning: imagedestroy(): supplied argument is not a valid Image resource in C:\wamp\www\web-service\prueba.php on line 28

Imagenes subidas
Espero que me podaias ayudar, de nuevo muchas gracias por adelantado.

Saludos
  #8 (permalink)  
Antiguo 31/05/2010, 01:56
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Bueno vuelvo a escribir para ver si me podeis echar una mano, al codigo del post anterior.
Código PHP:
<?php
if(isset($_POST["submit"])){
   include(
"./includes/conexion.php"); 

            
$random_digit=rand(0000,9999);
            
$uploaddir = ("./uploads/".$random_digit."-");

   foreach(
$_FILES["fileUpload"]["name"] as $key => $current){

            
$uploadimage $uploaddir basename($current);

   if (!
move_uploaded_file($_FILES["fileUpload"]["tmp_name"][$key], $uploadimage)) {
   echo 
"{$current} Fallo al subir.";
  }

 }
            foreach(
$_FILES["fileUpload"]["name"] as $key => $current){

            
$uploadimage $uploaddir basename($current);
            
            
$images $_FILES["fileUpload"]["tmp_name"][$key];
            
$new_images "Thumbnails-".$_FILES["fileUpload"]["name"][$key];
            
            
$width=100
            
$size=GetimageSize($images);
            
$height=75;
            
$images_orig ImageCreateFromJPEG($images);
            
$photoX ImagesX($images_orig);
            
$photoY ImagesY($images_orig);
            
$images_fin ImageCreateTrueColor($width$height);
            
ImageCopyResampled($images_fin$images_orig0000$width+1$height+1$photoX$photoY);
            
ImageJPEG($images_fin,$uploaddir.$new_images);
            
ImageDestroy($images_orig);
            
ImageDestroy($images_fin);
   }
mysql_query("INSERT INTO servalq(servalq_Image1, servalq_Imagen1, servalq_Image2, servalq_Imagen2, servalq_Image3, servalq_Imagen3, servalq_Image4, servalq_Imagen4, servalq_Image5, servalq_Imagen5) VALUES('".$random_digit.'-'.$new_images."','".$random_digit.'-'.$_FILES['fileUpload']['name'][0]."','".$random_digit.'-'.$new_images."','".$random_digit.'-'.$_FILES['fileUpload']['name'][1]."','".$random_digit.'-'.$new_images."','".$random_digit.'-'.$_FILES['fileUpload']['name'][2]."','".$random_digit.'-'.$new_images."','".$random_digit.'-'.$_FILES['fileUpload']['name'][3]."','".$random_digit.'-'.$new_images."','".$random_digit.'-'.$_FILES['fileUpload']['name'][4]."')") or die(mysql_error());

echo 
"<p>Imagenes subidas</p>";

}
?>
Le he añadido esto
Código PHP:
 foreach($_FILES["fileUpload"]["name"] as $key => $current){

            
$uploadimage $uploaddir basename($current);
            
            
$images $_FILES["fileUpload"]["tmp_name"][$key];
            
$new_images "Thumbnails-".$_FILES["fileUpload"]["name"][$key]; 
Y ahora me sube las fotos grandes y me intenta crear una imagen en miniatura pero da error en:

$size=getsizeimage ($images);

Por lo que le cree esto:
Código PHP:
$images = array (
$images '$servalq_Image1';
$images '$servalq_Image2';
$images '$servalq_Image3';
$images '$servalq_Image4';
$images '$servalq_Image5';
); 
Pero tampoco me funciona, me hace exactamente lo mismo, que si no lo pusiera.

Haber si me podeis echar una mano con esto, como digo he conseguido agregar las fotos a la carpeta del server, pero las miniaturas las intenta crear pero solo me genera un archivo de menos de un kb en negro.

Saludos y gracias nuevamente.

Última edición por kalebra; 31/05/2010 a las 01:57 Razón: Correccion del codigo
  #9 (permalink)  
Antiguo 31/05/2010, 03:11
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Upload file y MySQL

Hola
Intenta lo siguiente

0.

$size
=GetimageSize($images);
cambialo por
$size=getimagesize($images);
o por
$size=getimagesize($current);

1.
revisa las propiedades de gd para la creación de imagenes en el phpinfo de wamp,

2.
revisa en el phpinfo las propiedades de post_max_size, upload_max_filesize,upload_tmp_dir y revisa que el directorio que maneje este disponible

3.
Cuando tenias el formulario con un solo campo se te generaba bien la miniatura?

bueno, nos comentas
saludos
  #10 (permalink)  
Antiguo 31/05/2010, 03:52
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Hola y gracias por contestar Mortiprogramador.

Antes cuando me subia la imagen grande y me generaba la miniatura, era otro codigo, pero no consegui que me subiera mas de una foto, el codigo este.
Código PHP:
<?php 
// ------------------------------------------------------------------------------------- Indicamos el rango de numeros. 
    
$random_digit=rand(0000,9999); 
    for(
$i=0;$i<count($random_digit.$_FILES["fileUpload"]["name"]);$i++) 
    { 
        if(
trim($_FILES["fileUpload"]["tmp_name"][$i]) != ""
        { 
            
$images $_FILES["fileUpload"]["tmp_name"][$i];             
            
$new_images $random_digit."Thumbnails_".$_FILES["fileUpload"]["name"][$i]; 
            
copy($_FILES["fileUpload"]["tmp_name"][$i],".././uploads/".$random_digit.$_FILES["fileUpload"]["name"][$i]); 
// ------------------------------------------------------------------------------------- Indicamos el tamaño de la miniatura, solo ancho, el alto se autocalcula. 
            
$width=100;  
            
$size=GetimageSize($images); 
            
$height=round($width*$size[1]/$size[0]); 
            
$images_orig ImageCreateFromJPEG($images); 
            
$photoX ImagesX($images_orig); 
            
$photoY ImagesY($images_orig); 
            
$images_fin ImageCreateTrueColor($width$height); 
            
ImageCopyResampled($images_fin$images_orig0000$width+1$height+1$photoX$photoY); 
            
ImageJPEG($images_fin,".././uploads/".$new_images); 
            
ImageDestroy($images_orig); 
            
ImageDestroy($images_fin); 

// ------------------------------------------------------------------------------------- Incluimos el archivo de conexion a MYSQL.     
    
include("./conexion.php"); 
      
// ------------------------------------------------------------------------------------- Insertamos el contenido del formulario en MYSQL.     
    
$sql "INSERT INTO servalq "
    
$sql .="(servalq_Image1,servalq_Imagen1,servalq_Ref,servalq_Titulo,servalq_Pvp,servalq_Descripcion,servalq_Localidad,servalq_Provincia,servalq_Postal,servalq_Direccion,servalq_Planta,servalq_Dormitorios,servalq_Banos,servalq_Metros,servalq_Ascensor,servalq_Piscinap,servalq_Jardinp,servalq_Garaje,servalq_Extra1,servalq_Extra2,servalq_Extra3,servalq_Extra4,servalq_Extra5,servalq_Extra6,servalq_Extra7,servalq_Extra8,servalq_Extrai1,servalq_Extrai2,servalq_Extrai3,servalq_Extrai4,servalq_Extrai5,servalq_Extrai6,servalq_Extrai7,servalq_Extrai8) VALUES ('".$new_images."','".$random_digit.$_FILES["fileUpload"]["name"][$i]."','".$_POST["servalq_Ref"]."','".$_POST["servalq_Titulo"]."','".$_POST["servalq_Pvp"]."','".$_POST["servalq_Descripcion"]."','".$_POST["servalq_Localidad"]."','".$_POST["servalq_Provincia"]."','".$_POST["servalq_Postal"]."','".$_POST["servalq_Direccion"]."','".$_POST["servalq_Planta"]."','".$_POST["servalq_Dormitorios"]."','".$_POST["servalq_Banos"]."','".$_POST["servalq_Metros"]."','".$_POST["servalq_Ascensor"]."','".$_POST["servalq_Piscinap"]."','".$_POST["servalq_Jardinp"]."','".$_POST["servalq_Garaje"]."','".$_POST["servalq_Extra1"]."','".$_POST["servalq_Extra2"]."','".$_POST["servalq_Extra3"]."','".$_POST["servalq_Extra4"]."','".$_POST["servalq_Extra5"]."','".$_POST["servalq_Extra6"]."','".$_POST["servalq_Extra7"]."','".$_POST["servalq_Extra8"]."','".$_POST["servalq_Extrai1"]."','".$_POST["servalq_Extrai2"]."','".$_POST["servalq_Extrai3"]."','".$_POST["servalq_Extrai4"]."','".$_POST["servalq_Extrai5"]."','".$_POST["servalq_Extrai6"]."','".$_POST["servalq_Extrai7"]."','".$_POST["servalq_Extrai8"]."')"
            
$objQuery mysql_query($sql); 
        } 
    } 
         
?>
Asi que lo cambie por el otro que si me sube varias fotos, pero claro no me genera la miniatura, creo porque no se indicarle las fotos sueltas, e intenta coger el tamaño de todas las fotos a la vez, eso creo yo igual estoy equivocado.

He cambiado como me has dicho la linea de $size, pero el resultado es el mismo, me genera una miniatura de menos de un kb en negro.

Por lo demas en phpinfo
post_max_size 8M
upload_max_filesize 2M
upload_tmp_dir c:/wamp/tmp

Esto creo que esta todo bien, al igual que las propiedades de GD
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.1.9
T1Lib Support enabled
GIF Read Support enabled
GIF Create Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled

Haber si podeis echarme una mano

Saludos y gracias
  #11 (permalink)  
Antiguo 31/05/2010, 04:01
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Upload file y MySQL

Hola
Tienes el html a mano y el query de la tabla para hacer pruebas?
te agradezco
saludos
  #12 (permalink)  
Antiguo 31/05/2010, 04:10
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Buenas, que rapidez
Este es el form
Código HTML:
<form action="prueba.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileUpload[]" /> Pic 1<br />
<input type="file" name="fileUpload[]" /> Pic 2<br />
<input type="file" name="fileUpload[]" /> Pic 3<br />
<input type="file" name="fileUpload[]" /> Pic 4<br />
<input type="file" name="fileUpload[]" /> Pic 5<br />
<input type="submit" name="submit" value="enter" />
</form> 
Te he dejado solo los campos para las imagenes, ya que es bastante extenso el archivo de DB.
Código:
-- Base de datos: `servbasic`
--
--
-- Estructura de tabla para la tabla `servalq`
--

CREATE TABLE IF NOT EXISTS `servalq` (
  `servalq_ID` int(11) NOT NULL AUTO_INCREMENT,
  `servalq_Imagen1` varchar(800) NOT NULL DEFAULT 'default.jpg',
  `servalq_Image1` varchar(800) NOT NULL DEFAULT 'Thumbnails_default.jpg',
  `servalq_Imagen2` varchar(800) NOT NULL DEFAULT 'default.jpg',
  `servalq_Image2` varchar(800) NOT NULL DEFAULT 'Thumbnails_default.jpg',
  `servalq_Imagen3` varchar(800) NOT NULL DEFAULT 'default.jpg',
  `servalq_Image3` varchar(800) NOT NULL DEFAULT 'Thumbnails_default.jpg',
  `servalq_Imagen4` varchar(800) NOT NULL DEFAULT 'default.jpg',
  `servalq_Image4` varchar(800) NOT NULL DEFAULT 'Thumbnails_default.jpg',
  `servalq_Imagen5` varchar(800) NOT NULL DEFAULT 'default.jpg',
  `servalq_Image5` varchar(800) NOT NULL DEFAULT 'Thumbnails_default.jpg',
  PRIMARY KEY (`servalq_ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Muchas gracias, me tiene loco haciendo pruebas, ahora en los Warnings que me muestra al intentar generar las miniaturas, me muestra el nombre de la imagen, pero me sigue saliendo la miniatura en negro, no termina de generarla.

Saludos y de nuevo muchas gracias
  #13 (permalink)  
Antiguo 31/05/2010, 05:19
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Upload file y MySQL

Hola
Pues en esta me demore un poco pero porque se levantaron
y me distrajeron un rato

te comento

a mi me genera los 5 archivos tanto en grande como en miniatura
correctamente

solo hice un cambio y fue este

Código PHP:
Ver original
  1. for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)

Tu tenias esto

Código PHP:
Ver original
  1. for($i=0;$i<count($random_digit.$_FILES["fileUpload"]["name"]);$i++)

Y pues según parece, el inconveniente que tienes es más de ruta de la carpeta upload, lo digo porque me dio error inicialmente, entonces puse la carpeta upload un nivel atrás de donde esta el script php, y allí si funciono

revisa esas dos cosas y comentas

saludos
  #14 (permalink)  
Antiguo 31/05/2010, 05:36
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Ostia, muchas gracias.

Como bien dices era el random en esa linea, ahora me suben las miniaturas perfectas, lo de la ruta es que no me acorde de decir que uno estaba dentro de una carpeta y el otro codigo estaba afuera para hacer las pruebas antes de tocar el de adentro.

Perfecto, ahora genera las imagenes, lo unico que cada imagen me la inserta en un registro distinto, y lo que yo queria era que insertara las 5 imagenes en un mismo registro, imagino que eso tendre que hacerlo como lo estaba haciendo en el otro codigo, a traves de:

Código PHP:
foreach($_FILES["fileUpload"]["name"] as $key => $current){... 
O eso he entendido yo, pero bueno lo importante que era subir las fotos y sus miniaturas ya las sube, ahora me tocara romperme la cabeza como insertarlas todas en un mismo registro.

De nuevo muchas gracias por tu tiempo y paciencia.

Saludos
  #15 (permalink)  
Antiguo 31/05/2010, 06:02
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Upload file y MySQL

Hola

Bueno, pues yo te aconsejaría tener una variable que concatene
los valores a insertar y luego los inserte todos (un insert grupal)

como??

bueno, sencillito como diria algún muñeco animado

Código PHP:
Ver original
  1. <?php
  2. // --------inicio sql
  3.     $sql = "INSERT INTO tabla (campo1,campo2,etc....) ";
  4.     $sql .=" VALUES ";
  5. // ------------------------------------------------------------------------------------- Indicamos el rango de numeros.
  6.     $random_digit=rand(0000,9999);
  7.     for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
  8.     {
  9.         if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
  10.         {
  11. //  -----------------------------lo que ya tienes
  12.         }
  13. //  ----------------concateno actuales valores , para el ej los valores de las imagenes
  14.         $sql .="('".$new_images."','".$random_digit.$_FILES["fileUpload"]["name"][$i]."')";
  15. //  ------------------le agrego coma al grupo de registro y miro si no es el último grupo, pues si no hago eso el insert dara error pues no debe terminar en coma
  16. el query
  17.         if($i < count($_FILES["fileUpload"]["name"]) - 1)
  18.           $sql .=",";
  19.     }
  20.    
  21.     // ------------------------------------------------------------------------------------- Incluimos el archivo de conexion a MYSQL.    
  22. include.........
  23.      
  24. // ------------------------------------------------------------------------------------- Insertamos el contenido en MYSQL.    
  25.      $objQuery = mysql_query($sql);
  26.          
  27. ?>

Esto generara un query del siguiente modo

Código MySQL:
Ver original
  1. INSERT INTO tabla (campo1, campo2)  VALUES  ('5325Thumbnails_Puesta de sol.jpg','5325Puesta de  sol.jpg'),('5325Thumbnails_Nenúfares.jpg','5325Nenúfares.jpg'),('5325Thumbnails_Invierno.jpg','5325Invierno.jpg'),('5325Thumbnails_Colinas  azules.jpg','5325Colinas  azules.jpg'),('5325Thumbnails_Invierno2.JPG','5325Invierno2.JPG')

como ves, el último no tiene coma, los demás grupos (que estan entre parentesis cada cual) si se separan por la coma

espero te sirva
saludos
  #16 (permalink)  
Antiguo 31/05/2010, 07:42
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Buenas de nuevo, he insertado los datos que tenia en el otro codigo, y ahora funciona perfecto la subida y la generacion de las miniaturas, sin errores ni nada raro, osea perfecto.

Lo unico que no me queda claro es porque me inserta 5 registros en vez de uno.
Código PHP:
<?php 
// --------inicio sql
    
$sql "INSERT INTO servalq (servalq_Image1,servalq_Imagen1,servalq_Image2,servalq_Imagen2,servalq_Image3,servalq_Imagen3,servalq_Image4,servalq_Imagen4,servalq_Image5,servalq_Imagen5) "
    
$sql .=" VALUES ";
// ------------------------------------------------------------------------------------- Indicamos el rango de numeros. 
    
$random_digit=rand(0000,9999); 
    for(
$i=0;$i<count($_FILES["fileUpload"]["name"]);$i++) 
    { 
        if(
trim($_FILES["fileUpload"]["tmp_name"][$i]) != ""
        {
//  -----------------------------lo que ya tienes
            
$images $_FILES["fileUpload"]["tmp_name"][$i];              
            
$new_images $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][$i];  
            
copy($_FILES["fileUpload"]["tmp_name"][$i],"./uploads/".$random_digit.'-'.$_FILES["fileUpload"]["name"][$i]);  
// ------------------------------------------------------------------------------------- Indicamos el tamaño de la miniatura, solo ancho, el alto se autocalcula.  
            
$width=100;   
            
$size=GetimageSize($images);  
            
$height=75;  
            
$images_orig ImageCreateFromJPEG($images);  
            
$photoX ImagesX($images_orig);  
            
$photoY ImagesY($images_orig);  
            
$images_fin ImageCreateTrueColor($width$height);  
            
ImageCopyResampled($images_fin$images_orig0000$width+1$height+1$photoX$photoY);  
            
ImageJPEG($images_fin,"./uploads/".$new_images);  
            
ImageDestroy($images_orig);  
            
ImageDestroy($images_fin);  
        } 
//  ----------------concateno actuales valores , para el ej los valores de las imagenes
        
$sql .="('".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][0]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][1]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][2]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][3]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][4]."')";
//  ------------------le agrego coma al grupo de registro y miro si no es el último grupo, pues si no hago eso el insert dara error pues no debe terminar en coma el query
        
if($i count($_FILES["fileUpload"]["name"]) - 1)
          
$sql .=","
    } 
    
    
// ------------------------------------------------------------------------------------- Incluimos el archivo de conexion a MYSQL.     
 
include("./includes/conexion.php");
      
// ------------------------------------------------------------------------------------- Insertamos el contenido en MYSQL.     
     
$objQuery mysql_query($sql); 
         
?>
Al seleccionar las imagenes, me agrega 5 registros, con las fotos y las miniaturas.
¿He hecho algo mal al modificar el codigo?, es que por mas que miro no veo el fallo.

Saludos y gracias
  #17 (permalink)  
Antiguo 31/05/2010, 08:07
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Se que soy un pesado, he cambiado algunas cosas en el codigo anterior, he añadido esto:
Código PHP:
 $new_images = array(
            
$servalq_Image1 'servalq_Image1',
            
$servalq_Image2 'servalq_Image2',
            
$servalq_Image3 'servalq_Image3',
            
$servalq_Image4 'servalq_Image4',
            
$servalq_Image5 'servalq_Image5'); 
Y esto:
Código PHP:
$sql .="('".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][0]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][1]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][2]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][3]."','".$new_images."','".$random_digit.'-'.$_FILES["fileUpload"]["name"][4]."')"
Lo he cambiado por esto:
Código PHP:
$sql .="('$servalq_Image1','".$random_digit.'-'.$_FILES["fileUpload"]["name"][0]."','$servalq_Image2','".$random_digit.'-'.$_FILES["fileUpload"]["name"][1]."','$servalq_Image3','".$random_digit.'-'.$_FILES["fileUpload"]["name"][2]."','$servalq_Image4','".$random_digit.'-'.$_FILES["fileUpload"]["name"][3]."','$servalq_Image5','".$random_digit.'-'.$_FILES["fileUpload"]["name"][4]."')"
Ahora donde deberian de salir las miniaturas sale la tipica aspa de que no se encuentra la foto, mirando en las propiedades, me aparece esto

http://10.1.0.2/web-service/uploads/servalq_Image1

Donde "servalq_Image1" deberia de ser el nombre de la miniatura, bueno pues eos que seguire investigando, y si sabeis porque me aparece eso asi os lo agradezco.

De nuevo saludos y gracias.
  #18 (permalink)  
Antiguo 31/05/2010, 08:43
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Upload file y MySQL

Hola

Bueno, en respuesta a porque te inserta 5 veces, es porque estas haciendo el insert dentro del ciclo for o bien si lo cambiaste al insert grupal esta concatenando 5 grupos

Es cuestión de ordenar entonces los datos y que solo inserte una vez

en cuanto a porque te sale actualmente en miniaturas la palabra que comentas, es por el cambio que hiciste asignando directamente un valor estatico a las variables que usas en el insert

saludos
  #19 (permalink)  
Antiguo 31/05/2010, 08:48
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Buenas, ya he conseguido que me muestre las miniaturas correspondientes, he cambiado esto:
Código PHP:
$new_images = array( 
            
$servalq_Image1 'servalq_Image1'
            
$servalq_Image2 'servalq_Image2'
            
$servalq_Image3 'servalq_Image3'
            
$servalq_Image4 'servalq_Image4'
            
$servalq_Image5 'servalq_Image5'); 
Por esto:
Código PHP:
$new_images = array(
            
$servalq_Image1 $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][0],
            
$servalq_Image2 $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][1],
            
$servalq_Image3 $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][2],
            
$servalq_Image4 $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][3],
            
$servalq_Image5 $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][4]); 
Y asi ya me aparecen las miniaturas, lo que me cuentas del insert dentro del ciclo for lo voy a mirar ahora mismo, de nuevo muchas gracias por tu tiempo.

Saludos
  #20 (permalink)  
Antiguo 31/05/2010, 09:06
Avatar de kalebra  
Fecha de Ingreso: mayo-2010
Ubicación: Marbella
Mensajes: 44
Antigüedad: 13 años, 11 meses
Puntos: 5
Respuesta: Upload file y MySQL

Bueno aqui estoy de nuevo, esta vez para decir que todo perfecto.

Ahora sube las fotos, genera las miniaturas y en un solo registro.

De nuevo muchas gracias Mortiprogramador y a Wiwi74, por la ayuda y el tiempo que me habeis prestado.

Saludos
  #21 (permalink)  
Antiguo 03/02/2012, 10:11
 
Fecha de Ingreso: junio-2009
Mensajes: 5
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Upload file y MySQL

Hola podrias poner el código final de como te quedo porque yo puse este codigo tal cual, y me dice un error.
Lo cambie con mis datos.
Queria saber si me podian dar una mano.
Esta bien ordenado el código de este forma?
De antemano muchas gracias.

Código PHP:
Ver original
  1. <?php
  2. // --------inicio sql
  3. $sql = "INSERT INTO img(img1, th1, img2, th2, img3, th3, img4, th4, img5, th5) ";
  4. $sql .=" VALUES ";
  5. //Indicamos el rango de numeros.
  6. $random_digit=rand(0000,9999);
  7. for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
  8. {
  9. if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
  10. {
  11. // -----------------------------lo que ya tienes
  12. $images = $_FILES["fileUpload"]["tmp_name"][$i];
  13. $new_images = $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][$i];
  14.  
  15. $new_images = array(
  16. $img1 = $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][0],
  17. $img2 = $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][1],
  18. $img3 = $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][2],
  19. $img4 = $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][3],
  20. $img5 = $random_digit."-Thumb-".$_FILES["fileUpload"]["name"][4]);)
  21.  
  22. copy($_FILES["fileUpload"]["tmp_name"][$i],"imagenes/".$random_digit.'-'.$_FILES["fileUpload"]["name"][$i]);
  23. //Indicamos el tamaño de la miniatura, solo ancho, el alto se auto calcula.
  24. $width=100;
  25. $size=GetimageSize($images);
  26. $height=75;
  27. $images_orig = ImageCreateFromJPEG($images);
  28. $photoX = ImagesX($images_orig);
  29. $photoY = ImagesY($images_orig);
  30. $images_fin = ImageCreateTrueColor($width, $height);
  31. ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
  32. ImageJPEG($images_fin," imagenes/thumbs/".$new_images);
  33. ImageDestroy($images_orig);
  34. ImageDestroy($images_fin);
  35. }
  36. //concateno actuales valores , para el ej los valores de las imagenes
  37. $sql .="('$img1','".$random_digit.'-'.$_FILES["fileUpload"]["name"][0]."' ,'$img2','".$random_digit.'-'.$_FILES["fileUpload"]["name"][1]."',
  38. '$img3','".$random_digit.'-'.$_FILES["fileUpload"]["name"][2]."',
  39. '$img4','".$random_digit.'-'.$_FILES["fileUpload"]["name"][3]."',
  40. ,'$img5','".$random_digit.'-'.$_FILES["fileUpload"]["name"][4]."')";
  41.  
  42. //le agrego coma al grupo de registro y miro si no es el último grupo, pues si no hago eso el insert dara error pues no debe terminar en coma el query
  43. if($i < count($_FILES["fileUpload"]["name"]) - 1){
  44. $sql .=",";
  45. }
  46. //Incluimos el archivo de conexion a MYSQL.
  47. include("Connections/imagenes.php");
  48.  
  49. //Insertamos el contenido en MYSQL.
  50. $objQuery = mysql_query($sql);
  51. ?>

Etiquetas: file, mysql, upload
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:22.