Ver Mensaje Individual
  #19 (permalink)  
Antiguo 05/03/2010, 12:05
apustilnik
 
Fecha de Ingreso: septiembre-2009
Mensajes: 402
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Recuperar imagenes de archivo y mostrarlas con php

hola amigos, antes que nada y como siempre muchas gracias por la ayuda, bueno les cuento que logre hacer funcionar la imagen, aqui les paso el codigo completo por si alguien desea hacer lo mismo, podria serle de utilidad:
---------------------------------------------------------------------------------

Primero tomamos la imagen que el usuario nos envia mediante el formulario, la guardamos en una carpeta en el servidor y guardamos la ruta a la imagen en la db:

if(isset( $_FILES["file"]["name"])){ //deben cambiar 'file' x el nombre de su campo en el formulario
$nombre_archivo = str_replace(" ","_",$_FILES["file"]["name"]);
$path = "IMAGENES/";//deben cambiar el nombre de la carpeta x el que deseen
$ruta_imagen = $path.$nombre_archivo; /*declaro una variable $ruta_imagen y la almaceno concatenandolo con las 2 variables $path y $nombre_archivo */
if(move_uploaded_file($_FILES["file"]["tmp_name"], $ruta_imagen))
$sql_insertar = "insert into usuarios values('$id', '".$_SESSION['username']."','$ruta_imagen')";
mysql_query($sql_insertar) or die(mysql_error());
//lo mismo con la informacion de la db, deben cambiarla para c/caso en particular

}

Segundo paso, aplicamos la funcion que va a redimensionar la imagen y mostrarla en el navegador:

function redimensionar($ruta,$ancho,$alto){

$imagen= $_FILES['file']['name'];

$ruta= "IMAGENES/".$imagen;
$dim[0]= 100;//pueden asignarle los valores maximos en pixeles que deseen
$dim[1]= 100;//pueden asignarle los valores maximos en pixeles que deseen
//Obtenemos las dimensiones, la ruta es absoluta.
$dim = getimagesize($ruta);
/*getimagesize() pasa un array a la variable
$dim tal que $dim[0] contiene el ancho de la imagen
y dim[1] contiene el alto.*/
if($dim[1]){
//Para asegurarnos de que dim[1] es diferente de cero
$cociente = $dim[0] / $dim[1];
}
if($alto){
//Para asegurarnos de que alto es diferente de cero
$coc_max = $ancho / $alto;
}

if(($dim[0]<=$ancho)&&($dim[1]<=$alto)){
/*En este caso no pasa nada y
la imagen se imprime con su tamaño original*/
$ancho = $dim[0];
$alto = $dim[1];
}else{
if($cociente>=$coc_max){
/*En este caso el factor más restrictivo
va a ser el ancho de la foto*/
$alto = $ancho / $cociente;
}else{
/*En este caso el factor restrictivo
va a ser la altura de la foto*/
$ancho = $alto * $cociente;
}
}
echo "<img src='$ruta' width='$ancho' height='$alto'>";

}
$imagen= $_FILES['file']['name'];

$ruta= "IMAGENES/".$imagen;//aisgnamos un valor a la ruta hacia la imagen
$ancho= 100;//asignamos un ancho maximo
$alto= 100;asignamos un alto maximo
echo redimensionar($ruta,$ancho,$alto);visualizamos la imagen redimensionada en el navegador

Última edición por apustilnik; 05/03/2010 a las 12:36