Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/12/2011, 22:12
Avatar de MLDGATO
MLDGATO
 
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 8 meses
Puntos: 2
Pregunta Cambiar el Nombre de una imagen al momento de subirla

Hola Amigos, he buscado la manera de como cambiar el nombre de una imagen al momento de que se sube al servidor con php pero como soy principiante no he entendido del todo como se hace, la idea es que cuando en mi base de datos de mysql ingrese los datos de un nuevo producto y la persona elija una imagen para dicho producto el servidor le cambie el nombre por ejemplo si el producto nuevo que se va a crear le corresponde el ID numero 150 que la imagen se guarde en el servidor como 150.jpg, yo ya he logrado guardar la imagen pero no logro cambiarle el nombre, de momento lo que he estado haciendo es una consulta a la tabla para que me muestre el numero siguiente de ID de los productos para que asi sepa que debe tener mi imagen, este es el código:

Formulario:

Código HTML:
Ver original
  1. <form id="form1" name="form1" method="post" action="procesarproductonuevo.php" enctype="multipart/form-data">
  2.       <table width="900" border="0" align="center" cellpadding="0" cellspacing="0">
  3.         <tr>
  4.           <td colspan="3" align="center" bgcolor="#000000" class="redondo"><h2>INGRESE UN PRODUCTO NUEVO</h2></td>
  5.           </tr>
  6.         <tr>
  7.           <td width="217">&nbsp;</td>
  8.           <td width="683">&nbsp;</td>
  9.           <td width="683">&nbsp;</td>
  10.         </tr>
  11.         <tr>
  12.           <td><label for="codigo">
  13.           <p>&nbsp;</p>
  14.           </label></td>
  15.           <td>&nbsp;</td>
  16.           <td>&nbsp;</td>
  17.         </tr>
  18.         <tr>
  19.           <td><label for="nombre">
  20.           <p><span class="margeiz">Nombre:</span> <span class="estilo2">*</span></p>
  21.           </label></td>
  22.           <td><input name="nombre" type="text" class="estilo1" id="nombre" size="55" /></td>
  23.           <td rowspan="5" valign="top"><p><span class="margeiz">Imagen:</span><span class="estilo2">*</span></p>
  24.             <p class="margeiz2">La imagen debe estar en formato &quot;JPG&quot; y antes de subirla debe tener el siguiente nombre <?php echo "<font color='#990000'>".$total.".jpg</font>"; ?> del lo contrario no se adjuntar&aacute; la imagen al nuevo producto.</p>
  25.             <p class="margeiz2"><input name='imagen' type='file' id="imagen" /></p></td>
  26.         </tr>
  27.         <tr>
  28.           <td><label for="precioventa">
  29.           <p><span class="margeiz">Precio Venta:</span> <span class="estilo2">*</span></p>
  30.           </label></td>
  31.           <td><input name="precioventa" type="text" class="estilo1" id="precioventa" size="55" /></td>
  32.           </tr>
  33.         <tr>
  34.           <td><label for="costo">
  35.           <p><span class="margeiz">Costo:</span> <span class="estilo2">*</span></p>
  36.           </label></td>
  37.           <td><input name="costo" type="text" class="estilo1" id="costo" size="55" /></td>
  38.           </tr>
  39.         <tr>
  40.           <td><label for="existencia">
  41.           <p><span class="margeiz">Existencia:</span> <span class="estilo2">*</span></p>
  42.           </label></td>
  43.           <td><input name="existencia" type="text" class="estilo1" id="existencia" size="55" /></td>
  44.           </tr>
  45.         <tr>
  46.           <td><label for="categoria">
  47.           <p><span class="margeiz">Categor&iacute;a:</span> <span class="estilo2">*</span></p>
  48.           </label></td>
  49.           <td><select name="categoria" class="estilo1" id="categoria">
  50.             <option selected="selected" value="">[Elija una Categor&iacute;a]</option>
  51.             <?php
  52.            
  53.                 while($fila = mysql_fetch_array($rst_categorias)){
  54.                     echo "<option value='".$fila["catnombre"]."'>".$fila["catnombre"]."</option>";
  55.                     }
  56.                 mysql_close($conexion);
  57.            
  58.             ?>
  59.           </select></td>
  60.           </tr>
  61.         <tr>
  62.           <td valign="top"><label for="observaciones">
  63.           <p class="margeiz">Observaciones:</p>
  64.           </label></td>
  65.           <td><textarea name="observaciones" cols="55" rows="5" class="estilo1" id="observaciones"></textarea></td>
  66.           <td>&nbsp;</td>
  67.         </tr>
  68.         <tr>
  69.           <td>&nbsp;</td>
  70.           <td class="estilo2">*Campos requeridos</td>
  71.           <td class="estilo2">&nbsp;</td>
  72.         </tr>
  73.         <tr>
  74.           <td>&nbsp;</td>
  75.           <td><input name="button" type="submit" class="estilo1" id="button" value="Nuevo" /></td>
  76.           <td>&nbsp;</td>
  77.         </tr>
  78.       </table>
  79.     </form>

[COLOR="rgb(139, 0, 0)"]Este es el archivo php que procesa la información:[/COLOR]

Código PHP:
Ver original
  1. <?php
  2.  
  3.     //Validar los datos del formulario
  4.    
  5.     if($_POST['nombre']==""||$_POST['precioventa']==""||$_POST['costo']==""||$_POST['existencia']==""||$_POST['categoria']==""){
  6.         echo "Ha dejado Campos vacÃ*os, asegurese de llenar los campos requeridos";
  7.         echo "<br /><a href='javascript:history.go(-1)'>Regresar</a>";
  8.         exit();
  9.         }
  10.     //Incluir mi conexion a la base de datos   
  11.     include("coneccion.php");
  12.     //Capturo los datos del formulario
  13.     $nombre = @$_POST['nombre'];
  14.     $preven = @$_POST['precioventa'];
  15.     $costo = @$_POST['costo'];
  16.     $existencia = @$_POST['existencia'];
  17.     $categoria = @$_POST['categoria'];
  18.     $observacion = @$_POST['observaciones'];
  19.     //Inserto los datos en la tabla
  20.     mysql_query("INSERT INTO productos(pronombre, proprecioventa, procosto, proexistencia, procategoria, proobservacion) VALUES('$nombre','$preven','$costo','$existencia','$categoria','$observacion')");
  21.    
  22.     if(mysql_errno()!=0){
  23.         echo "Error ".mysql_errno()."-".mysql_error();
  24.         mysql_close($conexion);
  25.         }
  26.     else{
  27.         mysql_close($conexion);
  28.         header("Location:productos.php");
  29.         }
  30.     //Capturo los datos de la imagen cargada
  31.     $archivo = $_FILES['imagen'];
  32.     $nombrefile = $_FILES['imagen']['name'];
  33.     $rutatmp = $_FILES['imagen']['tmp_name'];
  34.     $rutanueva = "images/".$nombrefile;
  35.     //Guardo la imagen
  36.     if(is_uploaded_file($rutatmp)) {
  37.         copy($rutatmp, $rutanueva);
  38.     }
  39.  
  40. ?>

Muchas gracias por su ayuda.