Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2010, 07:44
Avatar de saraivaruas
saraivaruas
 
Fecha de Ingreso: octubre-2010
Ubicación: Chile
Mensajes: 133
Antigüedad: 14 años, 1 mes
Puntos: 10
Problema con actualizar ruta de imagen en el perfil de usuarios

Hola a todos !

Estoy terminado de montar mi sistema de registro de usuarios.
Ahora quisiera poner foto en el perfil del usuarios para que cada usuarios pueda subir su foto miniatura a su perfil. el lscript me guarda perfectamente la imagen en una carpeta del servidor lo que pasa ahora es que no logro insertar la ruta de la foto en la base de datos para que esta pueda relacionarse con el perfil del usuarios que la esta subiendo. aqui dejo mi script para ver si alguien me puede ayudar.


Código PHP:
<?php  
function mysql_escape($cadena) {  //funcion para limpiar campos del form de codigo malicioso 
    
if(get_magic_quotes_gpc() != 0) { 
        
$cadena stripslashes($cadena); 
    } 
    return 
mysql_real_escape_string($cadena); 
}   


//nos conectamos a la base de datos 
mysql_connect('localhost','.xx.x.','.x.xx.')or die ('Ha fallado la conexión: '.mysql_error()); 
mysql_select_db('esquina_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 

if(isset(
$_FILES['fichero']['name'])) {  //comprovamos que se haya cargado el archivo 

   
if(is_uploaded_file($_FILES['fichero']['tmp_name'])) { 
    
    
   
//empieza la redimension, tomamos la imagen temporal subida que puede ser jpg, png o gif 
   
$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 50;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS segun la tabla donde la muestres 

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);//aqui se crea la imagen en la variable $muestra 

imagedestroy($original); // aqui destruyo el original, pues no hace falta ya 


// comenzamos a guardar el archivo 
        
$ruta_destino "thumbnails/"//ponemos la ruta donde queremos almacenar los archivos en el server 
        
$namefinaltrim ($_FILES['fichero']['name']); //quito espacios iniciales y finales del nombre del archivo 
        
$namefinalereg_replace (" """$namefinal); //quito los espacios entre el nombre para no tener despues problemas de codigo 
        
$uploadfile$ruta_destino $namefinal//monto la ruta seguida del nombre del archivo en $uploadfile 
        
if(imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final,  el 100 el la calidad del jpg 
                    
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>";  
                       


                         
 
//insertamos en la BD los campos del form 
 
if(isset($_SESSION['id'])) // Aqui actualizaremos el perfil del usuario en la base de datos y le mostraremos que esta conectado
{
session_start();
$orden = ("select * from usuarios where id = "$_SESSION['id'] ."");
 
mysql_query("UPDATE  usuarios SET  imagen=".$_FILES['fichero']['type']." where id = "$_SESSION['id'] ."") ; 
  
}

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


 
//ahora el formulario 

?>  
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF'?>" method="post" enctype="multipart/form-data">  
  <p>Imagen perfil:  
      <input name="fichero" type="file" size="20" maxlength="20">
      <input name="submit" type="submit" value="Upload!">  
</form> 
</body> 

</html>