Foros del Web » Programando para Internet » PHP »

Consulta sobre subir y redimensionar la foto

Estas en el tema de Consulta sobre subir y redimensionar la foto en el foro de PHP en Foros del Web. Hola, tengo un problema, aparte de mi poco conocimiento. estoy aprendiendo y queria ver si me salia hacer algo pero por ahora no. la idea ...
  #1 (permalink)  
Antiguo 18/08/2009, 09:28
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 15 años
Puntos: 0
Consulta sobre subir y redimensionar la foto

Hola, tengo un problema, aparte de mi poco conocimiento. estoy aprendiendo y queria ver si me salia hacer algo pero por ahora no.
la idea es esta:
yo tengo un formulario donde se llenan los datos y aparte se agrega una imagen.
mi problema es q cuando subo la foto logro cambiarle el nombre, q se guarde en el servidor y q se inserte en la base de datos. pero lo que yo quiero es q esa foto se redimensione a un tamaño x por x y q tambien se genere una imagen chica

Código PHP:
<?php echo($titulo);?></h2>
    <!-- inicio del contenido -->
    <?php
        $codigo 
$_POST['codigo'];
        
$titulo $_POST['titulo'];
        
$genero $_POST['genero'];
        
$actores $_POST['actores'];
        
$director $_POST['director'];
        
$origen $_POST['origen'];
        
$sello $_POST['sello'];
        
$clasificacion $_POST['clasificacion'];
        
$duracion $_POST['duracion'];
        
$descripcion $_POST['descripcion'];
        
$puntuacion $_POST['puntuacion'];
        
$recomendado $_POST['recomendado'];
        
$disponible $_POST['disponible'];
        
$final $_POST['final'];
        
$fecha date("Y-m-d");
    
//imagen
//datos del arhivo
$nombre_archivo $_FILES['userfile']['name'];
$tipo_archivo $_FILES['userfile']['type'];
$tamano_archivo $_FILES['userfile']['size'];
$ext=explode("/",$tipo_archivo);
$nombreimagen=$codigo.".".$ext[1];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo"gif") || strpos($tipo_archivo"jpeg")) && ($tamano_archivo 100000))) {
    echo 
"La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (
move_uploaded_file($_FILES['userfile']['tmp_name'], "caratulas/" $nombreimagen)){
       echo 
"El archivo ha sido cargado correctamente.";
    }else{
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}

$imagen='<img src="caratulas/'.$nombreimagen.'" >';
    include(
"conexion.php");
    
    
$alta="INSERT INTO `video`.`dvd` (
`id` ,
`codigo` ,
`titulo` ,
`genero` ,
`actores` ,
`director` ,
`origen` ,
`sello` ,
`clasificacion` ,
`duracion` ,
`descripcion` ,
`puntuacion` ,
`recomendado` ,
`disponible` ,
`final` ,
`imagen` ,
`fecha`
)
VALUES (
NULL , '$codigo', '$titulo', '$genero', '$actores', '$director', '$origen', '$sello', '$clasificacion', '$duracion', '$descripcion', '$puntuacion', '$recomendado', '$disponible', '$final', '$imagen', '$fecha');"
;
        
mysql_query($alta);
        
mysql_close();
    
?>
  #2 (permalink)  
Antiguo 18/08/2009, 11:32
Avatar de pablolennin  
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Consulta sobre subir y redimensionar la foto

img_original=ruta de la imagen original
img_nueva=ruta donde se guardara la imagen redimensionada
img_nueva_calidad=calidad de la imagen redimensionada ejm 75
Código PHP:
function redimensionar_jpeg($img_original$img_nueva$img_nueva_calidad
{
     
// crear imagen desde original
    
$img imagecreatefromjpeg($img_original);
     
     
// redimensionar imagen original copiandola en la imagen
    
    
$anchura=800;//altura que deseas
    
$hmax=600;//ancho que quieres
    
    
$datos getimagesize($img_original);
    if(
$datos[2]==1){$img = @imagecreatefromgif($img_original);}
    if(
$datos[2]==2){$img = @imagecreatefromjpeg($img_original);}
    if(
$datos[2]==3){$img = @imagecreatefrompng($img_original);}
    
$ratio = ($datos[0] / $anchura);
    
$altura = ($datos[1] / $ratio);

    if(
$altura>$hmax)
    {
        
$anchura2=$hmax*$anchura/$altura;
        
$altura=$hmax;$anchura=$anchura2;
    }
    
    
$thumb imagecreatetruecolor($anchura,$altura);
    
imagecopyresampled($thumb$img0000$anchura$altura$datos[0], $datos[1]);
     
    
// guardar la imagen redimensionada donde indica $img_nueva
    
imagejpeg($thumb,$img_nueva,$img_nueva_calidad);

  #3 (permalink)  
Antiguo 18/08/2009, 12:04
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 15 años
Puntos: 0
ahora lo pruebo muchas gracias

eso q me pasaste, lo guardo como una funcion y lo llamo con un include antes de
Código PHP:
$imagen='<img src="caratulas/'.$nombreimagen.'" >'
?

listo, pude hacer andar
muchas gracias

Última edición por GatorV; 18/08/2009 a las 19:43
  #4 (permalink)  
Antiguo 18/08/2009, 19:53
Avatar de pablolennin  
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo
Mensajes: 169
Antigüedad: 15 años, 4 meses
Puntos: 1
Respuesta: Consulta sobre subir y redimensionar la foto

ok avisas que pasa
  #5 (permalink)  
Antiguo 18/08/2009, 20:05
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 9 meses
Puntos: 32
Respuesta: Consulta sobre subir y redimensionar la foto

Realizar esto es algo molesto....


$codigo = $_POST['codigo'];
$titulo = $_POST['titulo'];
$genero = $_POST['genero'];
$actores = $_POST['actores'];
$director = $_POST['director'];
$origen = $_POST['origen'];
$sello = $_POST['sello'];
$clasificacion = $_POST['clasificacion'];
$duracion = $_POST['duracion'];
$descripcion = $_POST['descripcion'];
$puntuacion = $_POST['puntuacion'];
$recomendado = $_POST['recomendado'];
$disponible = $_POST['disponible'];
$final = $_POST['final'];
$fecha = date("Y-m-d");


puedes usar la funcion extract( ) la cual le pasas como parametro $_POST y obtienes los nombres de la misma forma como la tienes en formularios.

Lo de arriba se reduciria a esto

extract( $_POST );

echo $codigo;
  #6 (permalink)  
Antiguo 19/08/2009, 14:00
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 15 años
Puntos: 0
Respuesta: Consulta sobre subir y redimensionar la foto

ok muchas gracias ahora lo voy a probar

ahora me salto otra duda. yo tengo un campo q se llama genero, si pongo uno solo en el formulario no hay problema, pero si pongo mas de una de las opciones(q es lo que yo quiero lograr) los numeros se suman, por ejemplo
1-comedia
2-romantica
3-policial
4-suspenso

si yo elijo por dicer el 1 y el 3 cuando se pasa por el metodo post al archivo de alta.php se suman el 1 y el 3 y me da 4 lo cual es suspenso.
lo que necesitaria hacer es q saque un array o no?
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 20:06.