Foros del Web » Programando para Internet » PHP »

upload + resize

Estas en el tema de upload + resize en el foro de PHP en Foros del Web. Hola con este script subo tres imágenes al servidor en la carpeta images y las muestro desde un registro en la bd. Funciona perfecto, pero ...
  #1 (permalink)  
Antiguo 24/05/2008, 16:33
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
upload + resize

Hola con este script subo tres imágenes al servidor en la carpeta images y las muestro desde un registro en la bd. Funciona perfecto, pero necesitaría cortarlas para que al menos se suban como máximo a un tamaño de 600 x 400 por ejemplo.
así la muestro y obligo con
Código:
width="197" height="148"
la impresión en pantalla, que funciona bien, pero al subir una de 1000 x 800 ej. se pone muy pesado.



Código PHP:
<a href="images/<?php echo $registro['imagen']; ?>" target="_blank" border="0" ><img src="images/<?php echo $registro['imagen']; ?>" width="197" height="148" border="0" /></a>
Código PHP:
<?php
function genera_random($longitud){  
    
$exp_reg="[^A-Z0-9]";  
    return 
substr(eregi_replace($exp_reg""md5(rand())) .  
       
eregi_replace($exp_reg""md5(rand())) .  
       
eregi_replace($exp_reg""md5(rand())),  
       
0$longitud);  
}     
$titulo $_POST['titulo'];
$titulo strip_tags($titulo);
$telefono $_POST['telefono'];
$telefono strip_tags($telefono);
$operacion$_POST['operacion'];
$banos $_POST['banos'];
$habitaciones $_POST['habitaciones'];
$ciudad $_POST['ciudad'];
$ciudadstrip_tags($ciudad);
$provincia $_POST['provincia'];
$provinciastrip_tags($provincia);
$mtscuadrados $_POST['mtscuadrados'];
$mtscuadradosstrip_tags($mtscuadrados);
$precioventa $_POST['precioventa'];
$precioventastrip_tags($precioventa);
$preciopesos $_POST['preciopesos'];
$preciopesosstrip_tags($preciopesos);
$preciorenta $_POST['preciorenta'];
$preciorentastrip_tags($preciorenta);
$tipoinmueble $_POST['tipoinmueble'];
$tipoinmueblestrip_tags($tipoinmueble);
$descripcion $_POST['descripcion'];
$descripcionstrip_tags($descripcion);
$fechaingreso $_POST['fechaingreso'];
$imagen$_POST['imagen'];
$imagen1$_POST['imagen1'];
$imagen2$_POST['imagen2'];
$referencia$_POST['referencia'];
$fechaingreso date("Y-m-d");
$aleatorio genera_random(20);//cadena de 20 caracteres
$aleatorio1 genera_random(18);//cadena de 18 caracteres
$aleatorio2 genera_random(19);//cadena de 19 caracteres 
$ruta="./images/";//ruta carpeta donde queremos copiar las imágenes
$uploadfile_temporal=$_FILES['imagen']['tmp_name'];
$uploadfile_nombre=$ruta.$aleatorio.$_FILES['imagen']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);
    echo 
"el archivo 1 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen1']['tmp_name'];
$uploadfile_nombre1=$ruta.$aleatorio1.$_FILES['imagen1']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre1);
    echo 
"el archivo 2 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen2']['tmp_name'];
$uploadfile_nombre2=$ruta.$aleatorio2.$_FILES['imagen2']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre2);
    echo 
"el archivo 3 subio correctamente";    
}
$uploadfile_nombre=$aleatorio.$_FILES['imagen']['name'];
    
$uploadfile_nombre1=$aleatorio1.$_FILES['imagen1']['name'];
    
$uploadfile_nombre2=$aleatorio2.$_FILES['imagen2']['name'];
include (
'cone.php');
//Ejecucion de la sentencia SQL

mysql_query("insert into propiedades (titulo,telefono,operacion,banos,habitaciones,ciudad,provincia,mtscuadrados,precioventa,preciopesos,preciorenta,tipoinmueble,descripcion,fechaingreso,imagen,imagen1,imagen2,referencia) values ('$titulo','$telefono','$operacion','$banos','$habitaciones','$ciudad','$provincia','$mtscuadrados','$precioventa','$preciopesos','$preciorenta','$tipoinmueble','$descripcion','$fechaingreso','$uploadfile_nombre','$uploadfile_nombre1','$uploadfile_nombre2','$referencia')",$enlace);

?>
  #2 (permalink)  
Antiguo 24/05/2008, 16:38
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: upload + resize

Hola

Este codigo redimensiona imagenes sin cambiar el ratio, implantalo en tu codigo

Código PHP:
if(isset($_FILES['fichero']['name'])) {  

   if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) {
   
   
   
//empieza la redimension, tomamos la imagen temporal subida
   
$info getimagesize($_FILES['fichero']['tmp_name']); 
   
//segun el caso sera jpg, gif, png
   
switch ($info[2]) {
  case 
1:
    
$imagen imagecreatefromgif($_FILES['fichero'] ['tmp_name']); break;
  case 
2:
    
$imagen imagecreatefromjpeg($_FILES['fichero'] ['tmp_name']); break;
  case 
3:
    
$imagen imagecreatefrompng($_FILES['fichero'] ['tmp_name']); break;
  
// etcétera // 
  
}

$original $imagen;
$original_w imagesx($original);
$original_h imagesy($original);

$max 175;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
    
$muestra_w $max;
    
$muestra_h intval(($original_h/$original_w)*$max);
    } else {
    
$muestra_w intval(($original_w/$original_h)*$max);
    
$muestra_h $max;
    }

$muestra imagecreatetruecolor($muestra_w,$muestra_h); 

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya 
  #3 (permalink)  
Antiguo 24/05/2008, 17:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: upload + resize

Hola Jaronu, gracias por tu amabilidad, cmo veras sigo penando con esto y sinceramente no entiendo para nada aun esto.


me da este error: Parse error: syntax error, unexpected $end in /home/m/dominio.com.ar/public_html/su1.php on line 202

Código PHP:
$aleatorio2 genera_random(19);//cadena de 19 caracteres 
$ruta="./images/";//ruta carpeta donde queremos copiar las imágenes
$uploadfile_temporal=$_FILES['imagen']['tmp_name'];
$uploadfile_nombre=$ruta.$aleatorio.$_FILES['imagen']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{       if(
is_uploaded_file($_FILES['imagen']['tmp_name'])) {
   
   
   
//empieza la redimension, tomamos la imagen temporal subida
   
$info getimagesize($_FILES['imagen']['tmp_name']); 
   
//segun el caso sera jpg, gif, png
   
switch ($info[2]) {
  case 
1:
    
$imagen imagecreatefromgif($_FILES['imagen'] ['tmp_name']); break;
  case 
2:
    
$imagen imagecreatefromjpeg($_FILES['imagen'] ['tmp_name']); break;
  case 
3:
    
$imagen imagecreatefrompng($_FILES['imagen'] ['tmp_name']); break;
  
// etcétera // 
  
}

$original $imagen;
$original_w imagesx($original);
$original_h imagesy($original);

$max 175;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
    
$muestra_w $max;
    
$muestra_h intval(($original_h/$original_w)*$max);
    } else {
    
$muestra_w intval(($original_w/$original_h)*$max);
    
$muestra_h $max;
    }

$muestra imagecreatetruecolor($muestra_w,$muestra_h); 

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya  

    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);
    echo 
"el archivo 1 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen1']['tmp_name'];
$uploadfile_nombre1=$ruta.$aleatorio1.$_FILES['imagen1']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre1);
    echo 
"el archivo 2 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen2']['tmp_name'];
$uploadfile_nombre2=$ruta.$aleatorio2.$_FILES['imagen2']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre2);
    echo 
"el archivo 3 subio correctamente";    
}
$uploadfile_nombre=$aleatorio.$_FILES['imagen']['name'];
    
$uploadfile_nombre1=$aleatorio1.$_FILES['imagen1']['name'];
    
$uploadfile_nombre2=$aleatorio2.$_FILES['imagen2']['name'];
include (
'cone.php');
//Ejecucion de la sentencia SQL

mysql_query("insert into propiedades (titulo,telefono,operacion,banos,habitaciones,ciudad,provincia,mtscuadrados,precioventa,preciopesos,preciorenta,tipoinmueble,descripcion,fechaingreso,imagen,imagen1,imagen2,referencia) values ('$titulo','$telefono','$operacion','$banos','$habitaciones','$ciudad','$provincia','$mtscuadrados','$precioventa','$preciopesos','$preciorenta','$tipoinmueble','$descripcion','$fechaingreso','$uploadfile_nombre','$uploadfile_nombre1','$uploadfile_nombre2','$referencia')",$enlace);

?> 
  #4 (permalink)  
Antiguo 24/05/2008, 18:18
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: upload + resize

pero cual es la lines 202 y las que van antes y despues
  #5 (permalink)  
Antiguo 24/05/2008, 18:20
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: upload + resize

aqui;

Cita:

move_uploaded_file($uploadfile_temporal,$uploadfil e_nombre);
echo "el archivo 1 subio correctamente";
Has de poner

Cita:
move_uploaded_file($muestra,$uploadfile_nombre);
echo "el archivo 1 subio correctamente";
  #6 (permalink)  
Antiguo 25/05/2008, 08:04
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: upload + resize

Hola jaronu, el error de la line 202 era solo un }
Solucionado esto sube la imagen pero no hace el resize.

Código PHP:
<?php
function genera_random($longitud){  
    
$exp_reg="[^A-Z0-9]";  
    return 
substr(eregi_replace($exp_reg""md5(rand())) .  
       
eregi_replace($exp_reg""md5(rand())) .  
       
eregi_replace($exp_reg""md5(rand())),  
       
0$longitud);  
}     
$titulo $_POST['titulo'];
$titulo strip_tags($titulo);
$telefono $_POST['telefono'];
$telefono strip_tags($telefono);
$operacion$_POST['operacion'];
$banos $_POST['banos'];
$habitaciones $_POST['habitaciones'];
$ciudad $_POST['ciudad'];
$ciudadstrip_tags($ciudad);
$provincia $_POST['provincia'];
$provinciastrip_tags($provincia);
$mtscuadrados $_POST['mtscuadrados'];
$mtscuadradosstrip_tags($mtscuadrados);
$precioventa $_POST['precioventa'];
$precioventastrip_tags($precioventa);
$preciopesos $_POST['preciopesos'];
$preciopesosstrip_tags($preciopesos);
$preciorenta $_POST['preciorenta'];
$preciorentastrip_tags($preciorenta);
$tipoinmueble $_POST['tipoinmueble'];
$tipoinmueblestrip_tags($tipoinmueble);
$descripcion $_POST['descripcion'];
$descripcionstrip_tags($descripcion);
$fechaingreso $_POST['fechaingreso'];
$imagen$_POST['imagen'];
$imagen1$_POST['imagen1'];
$imagen2$_POST['imagen2'];
$referencia$_POST['referencia'];
$fechaingreso date("Y-m-d");
$aleatorio genera_random(20);//cadena de 20 caracteres
$aleatorio1 genera_random(18);//cadena de 18 caracteres
$aleatorio2 genera_random(19);//cadena de 19 caracteres 
$ruta="./images/";//ruta carpeta donde queremos copiar las imágenes
$uploadfile_temporal=$_FILES['imagen']['tmp_name'];
$uploadfile_nombre=$ruta.$aleatorio.$_FILES['imagen']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{       if(
is_uploaded_file($_FILES['imagen']['tmp_name'])) {
   
   
   
//empieza la redimension, tomamos la imagen temporal subida
   
$info getimagesize($_FILES['imagen']['tmp_name']); 
   
//segun el caso sera jpg, gif, png
   
switch ($info[2]) {
  case 
1:
    
$imagen imagecreatefromgif($_FILES['imagen'] ['tmp_name']); break;
  case 
2:
    
$imagen imagecreatefromjpeg($_FILES['imagen'] ['tmp_name']); break;
  case 
3:
    
$imagen imagecreatefrompng($_FILES['imagen'] ['tmp_name']); break;
  
// etcétera // 
  
}

$original $imagen;
$original_w imagesx($original);
$original_h imagesy($original);

$max 175;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
    
$muestra_w $max;
    
$muestra_h intval(($original_h/$original_w)*$max);
    } else {
    
$muestra_w intval(($original_w/$original_h)*$max);
    
$muestra_h $max;
    }

$muestra imagecreatetruecolor($muestra_w,$muestra_h); 

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya  
move_uploaded_file($muestra,$uploadfile_nombre); 

    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre);
    echo 
"el archivo 1 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen1']['tmp_name'];
$uploadfile_nombre1=$ruta.$aleatorio1.$_FILES['imagen1']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre1);
    echo 
"el archivo 2 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen2']['tmp_name'];
$uploadfile_nombre2=$ruta.$aleatorio2.$_FILES['imagen2']['name'];

if (
is_uploaded_file($uploadfile_temporal))
{
    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre2);
    echo 
"el archivo 3 subio correctamente";    
}
}
$uploadfile_nombre=$aleatorio.$_FILES['imagen']['name'];
    
$uploadfile_nombre1=$aleatorio1.$_FILES['imagen1']['name'];
    
$uploadfile_nombre2=$aleatorio2.$_FILES['imagen2']['name'];
include (
'cone.php');
//Ejecucion de la sentencia SQL

mysql_query("insert into propiedades (titulo,telefono,operacion,banos,habitaciones,ciudad,provincia,mtscuadrados,precioventa,preciopesos,preciorenta,tipoinmueble,descripcion,fechaingreso,imagen,imagen1,imagen2,referencia) values ('$titulo','$telefono','$operacion','$banos','$habitaciones','$ciudad','$provincia','$mtscuadrados','$precioventa','$preciopesos','$preciorenta','$tipoinmueble','$descripcion','$fechaingreso','$uploadfile_nombre','$uploadfile_nombre1','$uploadfile_nombre2','$referencia')",$enlace);

?>
  #7 (permalink)  
Antiguo 25/05/2008, 08:14
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: upload + resize

puede que tuvieras algun error, te lo mire y creo que asi puede funcionar:


Código PHP:

<?php 
function genera_random($longitud){   
    
$exp_reg="[^A-Z0-9]";   
    return 
substr(eregi_replace($exp_reg""md5(rand())) .   
       
eregi_replace($exp_reg""md5(rand())) .   
       
eregi_replace($exp_reg""md5(rand())),   
       
0$longitud);   
}      
$titulo $_POST['titulo']; 
$titulo strip_tags($titulo); 
$telefono $_POST['telefono']; 
$telefono strip_tags($telefono); 
$operacion$_POST['operacion']; 
$banos $_POST['banos']; 
$habitaciones $_POST['habitaciones']; 
$ciudad $_POST['ciudad']; 
$ciudadstrip_tags($ciudad); 
$provincia $_POST['provincia']; 
$provinciastrip_tags($provincia); 
$mtscuadrados $_POST['mtscuadrados']; 
$mtscuadradosstrip_tags($mtscuadrados); 
$precioventa $_POST['precioventa']; 
$precioventastrip_tags($precioventa); 
$preciopesos $_POST['preciopesos']; 
$preciopesosstrip_tags($preciopesos); 
$preciorenta $_POST['preciorenta']; 
$preciorentastrip_tags($preciorenta); 
$tipoinmueble $_POST['tipoinmueble']; 
$tipoinmueblestrip_tags($tipoinmueble); 
$descripcion $_POST['descripcion']; 
$descripcionstrip_tags($descripcion); 
$fechaingreso $_POST['fechaingreso']; 
//$imagen= $_POST['imagen']; 
$imagen1$_POST['imagen1']; 
$imagen2$_POST['imagen2']; 
$referencia$_POST['referencia']; 
$fechaingreso date("Y-m-d"); 
$aleatorio genera_random(20);//cadena de 20 caracteres 
$aleatorio1 genera_random(18);//cadena de 18 caracteres 
$aleatorio2 genera_random(19);//cadena de 19 caracteres  
$ruta="./images/";//ruta carpeta donde queremos copiar las imágenes 
$uploadfile_temporal=$_FILES['imagen']['tmp_name']; 
$uploadfile_nombre=$ruta.$aleatorio.$_FILES['imagen']['name']; 

if (
is_uploaded_file($uploadfile_temporal)) 
{       if(
is_uploaded_file($_FILES['imagen']['tmp_name'])) { 
    
    
   
//empieza la redimension, tomamos la imagen temporal subida 
   
$info getimagesize($_FILES['imagen']['tmp_name']);  
   
//segun el caso sera jpg, gif, png 
   
switch ($info[2]) { 
  case 
1
    
$imagen imagecreatefromgif($_FILES['imagen'] ['tmp_name']); break; 
  case 
2
    
$imagen imagecreatefromjpeg($_FILES['imagen'] ['tmp_name']); break; 
  case 
3
    
$imagen imagecreatefrompng($_FILES['imagen'] ['tmp_name']); break; 
  
// etcétera //  
  


$original $imagen
$original_w imagesx($original); 
$original_h imagesy($original); 

$max 175;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS 

if($original_w>$original_h) { 
    
$muestra_w $max
    
$muestra_h intval(($original_h/$original_w)*$max); 
    } else { 
    
$muestra_w intval(($original_w/$original_h)*$max); 
    
$muestra_h $max
    } 

$muestra imagecreatetruecolor($muestra_w,$muestra_h);  

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h); 
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya   
move_uploaded_file($muestra,$uploadfile_nombre);  

  
    echo 
"el archivo 1 subio correctamente"

$uploadfile_temporal=$_FILES['imagen1']['tmp_name']; 
$uploadfile_nombre1=$ruta.$aleatorio1.$_FILES['imagen1']['name']; 

if (
is_uploaded_file($uploadfile_temporal)) 

    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre1); 
    echo 
"el archivo 2 subio correctamente"

$uploadfile_temporal=$_FILES['imagen2']['tmp_name']; 
$uploadfile_nombre2=$ruta.$aleatorio2.$_FILES['imagen2']['name']; 

if (
is_uploaded_file($uploadfile_temporal)) 

    
move_uploaded_file($uploadfile_temporal,$uploadfile_nombre2); 
    echo 
"el archivo 3 subio correctamente";     


$uploadfile_nombre=$aleatorio.$_FILES['imagen']['name']; 
    
$uploadfile_nombre1=$aleatorio1.$_FILES['imagen1']['name']; 
    
$uploadfile_nombre2=$aleatorio2.$_FILES['imagen2']['name']; 
include (
'cone.php'); 
//Ejecucion de la sentencia SQL 

mysql_query("insert into propiedades (titulo,telefono,operacion,banos,habitaciones,ciudad,provincia,mtscuadrados,precioventa,preciopesos,preciorenta,tipoinmueble,descripcion,fechaingreso,imagen,imagen1,imagen2,referencia) values ('$titulo','$telefono','$operacion','$banos','$habitaciones','$ciudad','$provincia','$mtscuadrados','$precioventa','$preciopesos','$preciorenta','$tipoinmueble','$descripcion','$fechaingreso','$uploadfile_nombre','$uploadfile_nombre1','$uploadfile_nombre2','$referencia')",$enlace); 

?>
  #8 (permalink)  
Antiguo 25/05/2008, 12:52
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: upload + resize

probe asi y tampoco sube. que podrás ser!!
  #9 (permalink)  
Antiguo 25/05/2008, 13:47
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: upload + resize

pero ahora no sube o no redimensiona o nada de nada???
  #10 (permalink)  
Antiguo 25/05/2008, 13:54
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: upload + resize

cambia lo siguiente:

Código PHP:

imagecopyresampled
($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h);  
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya    
//move_uploaded_file($muestra,$uploadfile_nombre); 
imagejpeg($muestra,$uploadfile_nombre); //puse esta linea por la de arriba
   
    
echo "el archivo 1 subio correctamente"
  #11 (permalink)  
Antiguo 25/05/2008, 16:16
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: upload + resize

perfecto jaronu funciona perfecto mil pero mil millones de gracias!!!
  #12 (permalink)  
Antiguo 21/08/2008, 18:10
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: upload + resize

Hola, aca ando con esto nuevamente, me funcionó excelente, pero ahora quiero hacer el update de la imagen para poder cambiarla por otra. Y no me la sube y corta el registro antes del .jpg ej: dominio/images/51db739802fb37224f

[PHP]
function genera_random($longitud){
$exp_reg="[^A-Z0-9]";
return substr(eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())) .
eregi_replace($exp_reg, "", md5(rand())),
0, $longitud);
}
$titulo = $_POST['titulo'];
$titulo = strip_tags($titulo);
$telefono = $_POST['telefono'];
$telefono = strip_tags($telefono);
$operacion= $_POST['operacion'];
$banos = $_POST['banos'];
$habitaciones = $_POST['habitaciones'];
$ciudad = $_POST['ciudad'];
$ciudad= strip_tags($ciudad);
$provincia = $_POST['provincia'];
$provincia= strip_tags($provincia);
$mtscuadrados = $_POST['mtscuadrados'];
$mtscuadrados= strip_tags($mtscuadrados);
$precioventa = $_POST['precioventa'];
$precioventa= strip_tags($precioventa);
$preciopesos = $_POST['preciopesos'];
$preciopesos= strip_tags($preciopesos);
$preciorenta = $_POST['preciorenta'];
$preciorenta= strip_tags($preciorenta);
$tipoinmueble = $_POST['tipoinmueble'];
$tipoinmueble= strip_tags($tipoinmueble);
$descripcion = $_POST['descripcion'];
$fechaingreso = $_POST['fechaingreso'];
$imagen= $_POST['imagen'];
$imagen1= $_POST['imagen1'];
$imagen2= $_POST['imagen2'];
$referencia= $_POST['referencia'];
$fechaingreso = date("Y-m-d");
$aleatorio = genera_random(20);//cadena de 20 caracteres
$aleatorio1 = genera_random(18);//cadena de 18 caracteres
$aleatorio2 = genera_random(19);//cadena de 19 caracteres
$ruta="./images/";//ruta carpeta donde queremos copiar las imágenes
$uploadfile_temporal=$_FILES['imagen']['tmp_name'];
$uploadfile_nombre=$ruta.$aleatorio.$_FILES['imagen']['name'];

if (is_uploaded_file($uploadfile_temporal))
{ if(is_uploaded_file($_FILES['imagen']['tmp_name'])) {


//empieza la redimension, tomamos la imagen temporal subida
$info = getimagesize($_FILES['imagen']['tmp_name']);
//segun el caso sera jpg, gif, png
switch ($info[2]) {
case 1:
$imagen = imagecreatefromgif($_FILES['imagen'] ['tmp_name']); break;
case 2:
$imagen = imagecreatefromjpeg($_FILES['imagen'] ['tmp_name']); break;
case 3:
$imagen = imagecreatefrompng($_FILES['imagen'] ['tmp_name']); break;
// etcétera //
}

$original = $imagen;
$original_w = imagesx($original);
$original_h = imagesy($original);

$max = 578; //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
$muestra_w = $max;
$muestra_h = intval(($original_h/$original_w)*$max);
} else {
$muestra_w = intval(($original_w/$original_h)*$max);
$muestra_h = $max;
}

$muestra = imagecreatetruecolor($muestra_w,$muestra_h);



imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya
//move_uploaded_file($muestra,$uploadfile_nombre);
imagejpeg($muestra,$uploadfile_nombre); //puse esta linea por la de arriba

echo "el archivo 1 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen1']['tmp_name'];
$uploadfile_nombre1=$ruta.$aleatorio1.$_FILES['imagen1']['name'];

if (is_uploaded_file($uploadfile_temporal))
{ if(is_uploaded_file($_FILES['imagen1']['tmp_name'])) {


//empieza la redimension, tomamos la imagen temporal subida
$info = getimagesize($_FILES['imagen1']['tmp_name']);
//segun el caso sera jpg, gif, png
switch ($info[2]) {
case 1:
$imagen1 = imagecreatefromgif($_FILES['imagen1'] ['tmp_name']); break;
case 2:
$imagen1 = imagecreatefromjpeg($_FILES['imagen1'] ['tmp_name']); break;
case 3:
$imagen1 = imagecreatefrompng($_FILES['imagen1'] ['tmp_name']); break;
// etcétera //
}

$original = $imagen1;
$original_w = imagesx($original);
$original_h = imagesy($original);

$max = 578; //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
$muestra_w = $max;
$muestra_h = intval(($original_h/$original_w)*$max);
} else {
$muestra_w = intval(($original_w/$original_h)*$max);
$muestra_h = $max;
}

$muestra = imagecreatetruecolor($muestra_w,$muestra_h);



imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya
//move_uploaded_file($muestra,$uploadfile_nombre);
imagejpeg($muestra,$uploadfile_nombre1); //puse esta linea por la de arriba

echo "el archivo 2 subio correctamente";
}
$uploadfile_temporal=$_FILES['imagen2']['tmp_name'];
$uploadfile_nombre2=$ruta.$aleatorio2.$_FILES['imagen2']['name'];

if (is_uploaded_file($uploadfile_temporal))
{ if(is_uploaded_file($_FILES['imagen2']['tmp_name'])) {


//empieza la redimension, tomamos la imagen temporal subida
$info = getimagesize($_FILES['imagen2']['tmp_name']);
//segun el caso sera jpg, gif, png
switch ($info[2]) {
case 1:
$imagen2 = imagecreatefromgif($_FILES['imagen2'] ['tmp_name']); break;
case 2:
$imagen2 = imagecreatefromjpeg($_FILES['imagen2'] ['tmp_name']); break;
case 3:
$imagen2 = imagecreatefrompng($_FILES['imagen2'] ['tmp_name']); break;
// etcétera //
}

$original = $imagen2;
$original_w = imagesx($original);
$original_h = imagesy($original);

$max = 578; //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS

if($original_w>$original_h) {
$muestra_w = $max;
$muestra_h = intval(($original_h/$original_w)*$max);
} else {
$muestra_w = intval(($original_w/$original_h)*$max);
$muestra_h = $max;
}

$muestra = imagecreatetruecolor($muestra_w,$muestra_h);



imagecopyresampled($muestra,$original,0,0,0,0, $muestra_w,$muestra_h,$original_w,$original_h);
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya
//move_uploaded_file($muestra,$uploadfile_nombre);
imagejpeg($muestra,$uploadfile_nombre2); //puse esta linea por la de arriba

echo "el archivo 3 subio correctamente";
}
}
}
}
$uploadfile_nombre=$aleatorio.$_FILES['imagen']['name'];
$uploadfile_nombre1=$aleatorio1.$_FILES['imagen1']['name'];
$uploadfile_nombre2=$aleatorio2.$_FILES['imagen2']['name'];
include ('cone.php');
$result = mysql_query("update propiedades Set titulo='$titulo',telefono='$telefono',operacion='$ operacion',banos='$banos',habitaciones='$habitacio nes',ciudad='$ciudad',provincia='$provincia',mtscu adrados='$mtscuadrados',precioventa='$precioventa' ,preciopesos='$preciopesos',preciorenta='$preciore nta',tipoinmueble='$tipoinmueble',descripcion='$de scripcion',fechaingreso='$fechaingreso',imagen='$u ploadfile_nombre',imagen1='$uploadfile_nombre1',im agen2='$uploadfile_nombre2',referencia='$referenci a' where id='$id'", $enlace);
if (!$result) {
$message = 'Invalid query: ' . mysql_error() . "\n";
$message .= 'Whole query: ' . $query;
die($message);
}
header("location:actualizar.php");
?>
[PHP]
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 00:38.