Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/05/2008, 16:54
Avatar de jaronu
jaronu
 
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Re: redimensionar imagen

hola,
yo uso este codigo para subir una foto y guardarla en una carpeta del server y su ruta en la Base de datos, a demas de un titular, resumen y una noticia.

usa la parte del codigo que te haga falta, pero has de tener una Bd de MySQL con lo campos necesarios.


Código PHP:

<?php 
function quitar($mensaje)
{
    
$nopermitidos = array("'",'\\','<','>',"\"",";","$","%","&","/","|","{","}","[","]","+","#");
    
$mensaje str_replace($nopermitidos""$mensaje);
    return 
$mensaje;
}


$nombre_archivo2  quitar($_POST["nombre_archivo2"]);

mysql_connect('localhost','xxxx','xxxx')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('xxxx')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

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


//imagedestroy($muestra);





   
   
   
    
    
     // me verifica haya sido cargado el archivo 
        
$ruta_destino "../carpeta/archivos/";
        
$namefinaltrim ($_FILES['fichero']['name']);//quito espacios finales o al principio del nombre si los hay
        
$namefinalereg_replace (" """$namefinal);//quito los espacios entre las palabtas del nombre si los hay
        
$uploadfile$ruta_destino $namefinal;
        if(
imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
                      


                        
// Aqui es donde tendre que insertar en la BD la variable $namefinal que con tiene el nombre del archivo sin espacios
$titular  quitar($_POST["titular"]);
$resumen  quitar($_POST["resumen"]);
$noticia1  quitar($_POST["noticia"]);
$noticia quitar($noticia1); 
$noticia $noticia//cambiar el nl2br a la salida del texto mejor, y no a la entrada para inform. excell





$fecha  $_POST["fecha"];

 

$query "INSERT INTO noticias (titular, resumen, noticia, imagen, fecha)
    VALUES ('$titular', '$resumen' , '$noticia', '$namefinal','$fecha')"
;
                
mysql_query($query) or die(mysql_error());
                
                
 
    
                

                
                
                echo 
"La noticia <b>'".$titular."'</b>  ha sid registrados de manera satisfactoria.<br />";
                  echo 
"<br><hr><br>";
            
                
                

        
        
                

}else{echo 
"no se guardo la foto, ni se inserto el articulo en la Base de Datos";}
}else{echo 
"no se subio foto";}
}else{echo 
"no se selecciono la foto";}


 

?>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data"> 
    <p>Imagen noticia 1: 
      <input name="fichero" type="file" size="150" maxlength="150"> 
      <br> 
      Titular: 
      <input name="titular" type="text" size="46" maxlength="45" id="titular" >
  </p>
    <p>Resumen 
      <label>
      <input name="resumen" type="text" id="resumen" size="150" maxlength="300">
      </label>
  </p>
    <p><br> 
      Noticia:
      <label>
      <textarea name="noticia" id="noticia" cols="100" rows="20"></textarea>
          </label>
    </p>
    <p>
      <input type="hidden" name="fecha" id="fecha" value="<?php echo date("d-m-Y");?>">
      <label></label>
      <br>
      </p>
    <p><br>
      <input name="submit" type="submit" value="Upload!">  
  </p>
</form> </body>
Espero que te sirva.
un saludo