Foros del Web » Programando para Internet » PHP »

Subir una imagen y renombrarla con el numero id

Estas en el tema de Subir una imagen y renombrarla con el numero id en el foro de PHP en Foros del Web. tengo un formulario q sube una imagen + el titulo + descripcion, hasta ahi todo bien, pero quiero q la imagen la renombre con el ...
  #1 (permalink)  
Antiguo 08/04/2006, 05:09
 
Fecha de Ingreso: marzo-2006
Ubicación: Chile
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 0
Subir una imagen y renombrarla con el numero id

tengo un formulario q sube una imagen + el titulo + descripcion, hasta ahi todo bien, pero quiero q la imagen la renombre con el id q esta creando en la bd para almacenar el titulo y la descripcion, y no q la deje con el nombre original.

este es el codigo q estoy utilizando:

Código PHP:
<?php
require ("include/db.php");
$ruta"img_juegos/".$_FILES['fichero']['name'];
if (isset(
$_POST['submit'])) { 
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { 
        
move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta);
    }

}
?>
                 <?

if (!$_POST){
?>
  <form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">
<input type="text" name="nombre" size="30">
<input type="text" name="descripcion" size="30">
<input name="fichero" type="file">
<input name="submit" type="submit" value="Insertar">
</form>
<? 
}else{ 
//Ejecucion de la sentencia SQL
mysql_query("insert into juegosps2 (id,nombre,descripcion) values ('$id','$nombre','$descripcion')");

$result mysql_query("SELECT * FROM juegosps2 WHERE id ORDER BY id desc LIMIT 5");
?>
<?
while($row mysql_fetch_array($result)){
?> 
<?
  
echo $row['nombre'];
  
?>
<?
   
}
  
mysql_free_result($result);
  }
?>
saludos...
  #2 (permalink)  
Antiguo 13/04/2006, 05:43
 
Fecha de Ingreso: abril-2006
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 0
renombrar imagenes

Con id no se puede, yo al menos no lo consegui, pero si usando la fecha para renombrar la imagen, al menos así te aseguras que no subas dos imagenes con el mismo nombre, te dejo el codigo que use:

Código PHP:
<?php
    
if (count($_POST) > ) {
        
$id $_POST["id"];            
        
$descripcion $_POST["descripcion"];
        
$album $_POST["album"];
        
$imagen $_FILES["imagen"]["name"];
        
$fichero time();    
        
                
        
$imagen $_FILES['imagen']['name'];
        
$ext strrchr($imagen,'.'); // Sacas extension        
        
$name time().'.'.$ext// renombras la imagen con la fecha
        
$insertar $name.$ext// unes el nombre y la extensión
        
$name $fichero;
        
$fichero2 time().$ext;
                                        
        
$sql "INSERT INTO Fotos (descripcion, album, imagen) ";
        
$sql $sql " VALUES ('$descripcion', '$album', '$fichero2')";                
        
        
$servidor mysql_connect ("localhost""root""");
        
mysql_select_db("mipc"$servidor);            
        
        
$resultado mysql_query ($sql$servidor);
        if (
mysql_errno($servidor) == 0) {        
        
        if (
is_uploaded_file ($_FILES["imagen"]["tmp_name"]) == true) {            
            
//copy($_FILES["imagen"]["tmp_name"], "imagenes/" . $_FILES["imagen"]["name"]);
            
copy($_FILES["imagen"]["tmp_name"], "imagenes/" $name.$ext);    
        }        
            
header("Location:GaleriaFotos.php");
        }
    }



?>
Espero que te valga.
  #3 (permalink)  
Antiguo 13/04/2006, 06:30
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
A ver, mas o menos seria asi:
Código PHP:
<?php
require ("include/db.php");
?>
<?

if (!$_POST){
?>
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">
    <input type="text" name="nombre" size="30">
    <input type="text" name="descripcion" size="30">
    <input name="fichero" type="file">
    <input name="submit" type="submit" value="Insertar">
</form>
<? 
}else{ 
//Ejecucion de la sentencia SQL
mysql_query("insert into juegosps2 (nombre, descripcion) values ('$nombre', '$descripcion')");

$base mysql_query("SELECT * FROM juegosps2 WHERE id ORDER BY id desc LIMIT 1");
$rowa mysql_fetch_array($base);

$Id$rowa['id'];

$ruta"img_juegos/".$Id;
if (isset(
$_POST['submit'])) { 
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { 
        
move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta);
    }

};
 
mysql_free_result($base);
mysql_query($ssql);
$result mysql_query("SELECT * FROM juegosps2 WHERE id ORDER BY id desc LIMIT 5");
while(
$row mysql_fetch_array($result)){

  echo 
$row['nombre'];
}  
  
  
mysql_free_result($result);
 
?>
Es decir, primero subes a la base de datos el nombre y la descripcion, acto seguido, consultas la base de datos en orden descendente, con limite de un solo registro(asi te dara el ultimo) y sacas su id(que supongo autoincremental), y despues subes la imagen asignandole este numero que obtienes. Espero que se me entienda, si no pregunta de nuevo.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #4 (permalink)  
Antiguo 19/04/2006, 01:56
 
Fecha de Ingreso: marzo-2006
Ubicación: Chile
Mensajes: 4
Antigüedad: 11 años, 8 meses
Puntos: 0
muchas gracias, me sirvio pero tuve q agregarle algo al codigo pq me las guardaba sin terminacion jpg, asi q probe hasta q me salio y quedo asi:

Código PHP:
$ruta"img_juegos/".$Id.".jpg"
saludos y muchas pero muchas gracias.
  #5 (permalink)  
Antiguo 19/04/2006, 03:28
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Cita:
Iniciado por jop123
muchas gracias, me sirvio pero tuve q agregarle algo al codigo pq me las guardaba sin terminacion jpg, asi q probe hasta q me salio y quedo asi:

Código PHP:
$ruta"img_juegos/".$Id.".jpg"
saludos y muchas pero muchas gracias.
A ver, una recomendacion, en lugar de esto, imagina que subes una Gif en lugar de jpg, pon:
Código PHP:
$ruta"img_juegos/".$Id.$_FILES['fichero']['type']; 
asi te guardara la extension que tenga el archivo, sin tener que preocuparte de que tenga que ser jpg a la fuerza.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
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




La zona horaria es GMT -6. Ahora son las 07:21.