Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: oscarj24 en 1 Junio 2010, 07:17 am



Título: Problema con formulario PHP
Publicado por: oscarj24 en 1 Junio 2010, 07:17 am
Bueno, estoy haciendo un formulario con un upload de imagen jpg. El problema es que intento hacer que ese jpg, en vez de subirse con el nombre que el usuario le ha puesto, quiero que se suba al server con el nombre de la ID de la consulta, ejemplo:


ID      Nombre      Apellido                     Imagen
1         Oscar          Jara            1_24/06/2010_11:30:05.jpg

En la DB, el nombre de la imagen esta compuesto por el ID, fecha y hora y la extension

Pero, en el server quiero que se guarde como 1.jpg ya que el ID de esa consulta fue 1. Y eso es lo que no logro hacer, aca esta parte de mi codigo php y espero me puedan ayudar o corregir algo que este mal.

Código
  1. <?php
  2. if (isset($_POST['validar'])) {
  3.  
  4. $link = mysql_connect('localhost', 'user', 'pass');
  5. mysql_select_db('db', $link);
  6.  
  7.  $sql = "SELECT MAX(ID) FROM inscritos";
  8.  $result = mysql_query($sql);
  9.  $row = mysql_fetch_row($result);
  10.  $max_id = $row[0]+1; //captura el ultimo ID y le agrega 1 para ser el ID actual
  11.  
  12.  $evento=$_POST['evento'];
  13.  $nombres=$_POST['nombres'];
  14.  $apellidos=$_POST['apellidos'];
  15.  $empresa=$_POST['empresa'];
  16.  $cargo=$_POST['cargo'];
  17.  $direccion=$_POST['direccion'];
  18.  $telefono=$_POST['telefono'];
  19.  $datetime = date("d/m/Y_H:i:s");
  20.  
  21.  $upload_dir = '/home/netline/public_html/vouchers/';
  22.  $upload_file = $upload_dir.$max_id.".jpg";
  23.  $extension = $_FILES['voucher']['type'];
  24.  $size = $_FILES['voucher']['size'];
  25.  $voucher_namedb = $max_id."_".$datetime.".jpg";
  26.  
  27.  if ($evento.trim != "" &&
  28.    $voucher.trim != "" &&
  29.  $extension == "image/jpeg" &&
  30.  $size < 204800 &&
  31.  $nombres.trim != "" &&
  32.  $apellidos.trim != "" &&
  33.  $empresa.trim != "" &&
  34.  $cargo.trim != "" &&
  35.  $direccion.trim != "" &&
  36.  $telefono.trim != "")
  37.  {
  38.   move_uploaded_file($_FILES['voucher']['tmp_name'], $upload_file);
  39.       mysql_query("INSERT INTO inscritos (Evento,Voucher,Nombres,Apellidos,Empresa,Cargo,Direccion,Telefono) VALUES ('$evento','$voucher','$nombres','$apellidos','$empresa','$cargo','$direccion','$telefono')",$link);
  40.       mysql_close($link);

El codigo php continua pero lo demas no tiene importancia. Por otro lado, el script ya lo he probado y funciona muy bien al usar en la variable upload file lo siguiente:

$upload_file = $upload_dir.$_FILES['voucher']['name'];

ya que, lo que realiza es guardar el file con el nombre que el usuario le puso y a la DB como yo lo quiero, espero me puedan ayudar... ya he intentado muchas formas y no lo logro, entre ellas use la funcion rename, entre otras como if_file_exists pero nada Y LO UNICO QUE QUIERO ES GUARDAR LA IMAGEN CON EL ID DE LA CONSULTA  :laugh: :-(