Foros del Web » Programando para Internet » PHP »

Aparentemente sube imagen sin error

Estas en el tema de Aparentemente sube imagen sin error en el foro de PHP en Foros del Web. Hola quiero asociar estos campos en mi tabla usuarios id usuario contrasena imagen Código PHP: <?php    function  mysql_escape ( $cadena ) {   //funcion para limpiar campos del form de codigo malicioso        if( get_magic_quotes_gpc ...
  #1 (permalink)  
Antiguo 19/01/2011, 21:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 3 meses
Puntos: 0
Aparentemente sube imagen sin error

Hola quiero asociar estos campos

en mi tabla usuarios
  1. id
  2. usuario
  3. contrasena
  4. imagen


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','root','root')or die ('Ha fallado la conexión: '.mysql_error());  
mysql_select_db('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 100;  //AQUI  EL TAMAÑO DE LA IMAGEN 

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 imagen = '0'"); 
mysql_query("update  usuarios SET  imagen= 
'"
.$_FILES['fichero']['name']."'") ; 
   


                                      }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>

ESTAS IMAGENES SOLO SON EJEMPLO DE LO QUE QUIERO HACER



MAS O MENOS ASI VEN QUE MUESTRA EL ID DEL USUARIO Y AUN LADO UN BOTON PARA QUE SUBA IMAGENES





AL SUBIR LA IMAGEN QUEDE EN SU PAGINA DEL USUARIO LA IMAGEN COMO SU PERFIL




ENTONCES HAGO UNA CONSULTA PERO LA HAGO ASI OBVIO DESPUES DE CONECTARME ALA BASE
Código PHP:
echo "Tu imagen: ".$rowEmp['imagen']."<br></br>"
  #2 (permalink)  
Antiguo 19/01/2011, 21:43
 
Fecha de Ingreso: agosto-2010
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: Aparentemente sube imagen sin error

Si entendí bien deberías agregar:

Cita:
echo "Tu imagen: <img src="".$rowEmp['imagen']."" border="0" /><br></br>";
  #3 (permalink)  
Antiguo 19/01/2011, 21:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Aparentemente sube imagen sin error

Cita:
Parse error: syntax error, unexpected '"', expecting ',' or ';' in C:\AppServ\www\perfil.php on line 131
  #4 (permalink)  
Antiguo 19/01/2011, 22:25
 
Fecha de Ingreso: enero-2011
Ubicación: Caracas-Venezuela
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Aparentemente sube imagen sin error

Te faltó el backslash antes de las comillas dobles que están dentro del string:
Código PHP:
echo "Tu imagen: <img src=\"".$rowEmp['imagen']."\" border=\"0\" /><br></br>"
Saludos
  #5 (permalink)  
Antiguo 19/01/2011, 23:35
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 3 meses
Puntos: 0
Si sube pero no muestra imagen

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','root','root')or die ('Ha fallado la conexión: '.mysql_error());   
mysql_select_db('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 100;  //AQUI  EL TAMAÑO DE LA IMAGEN  

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>Imagen de Perfil:</b><br>";    
            echo 
"Nombre: <i><a href=\"".$_SESSION['k_username']."\">".$_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 imagen = '0'");  
mysql_query("update  usuarios SET  imagen=  
'"
.$_FILES['fichero']['name']."'") ;  
    
}  

                                      }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>


Si sube la imagen al directorio
thumbnails


pero no muestra la imagen


de echo le cambie el directorio


echo "Nombre: <i><a href=\"".$_SESSION['k_username']."\">".$_FILES['fichero']['name']."</a></i><br>";

y si le doy click me da el nombredeusuario

ejemplo

http://localhost/usuariojunito

lo que quiero es que me de

http://localhost/perfil

pero ya insertada la imagen por que me aparece una x

cuando trato de recoger la variable

echo "Tu imagen: <img src=\"".$rowEmp['imagen']."\" border=\"0\" /><br></br>";


no me aparece ningun error en pantalla pero no me muestra la imagen me sale un cudrito con una x
  #6 (permalink)  
Antiguo 20/01/2011, 01:16
 
Fecha de Ingreso: marzo-2008
Mensajes: 1.020
Antigüedad: 16 años, 1 mes
Puntos: 21
Respuesta: Aparentemente sube imagen sin error

Código PHP:
Ver original
  1. echo "Tu imagen: <img src=\"".$rowEmp['imagen']."\" border=\"0\" /><br></br>";

En src=\"ACA NO DEBE IR EL DIRECTORIO DONDE GUARDAS TUS FOTOS"?????


Quedaria así:
Código PHP:
Ver original
  1. echo "Tu imagen: <img src=\"TU-DIRECTORIO/".$rowEmp['imagen']."\" border=\"0\" /><br></br>";
  #7 (permalink)  
Antiguo 20/01/2011, 03:32
 
Fecha de Ingreso: diciembre-2008
Mensajes: 52
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Aparentemente sube imagen sin error

Cita:
hola que tal le cambie los datos como me comentas pero queda asi


Cita:
sigue sin subir la foto

http://localhost/thumbnails/
y
Cita:
e me reconocio el destino pero el echo me marca imagen no disponible

deberia quedar algo así

Cita:
echo "Tu imagen: <img src=\"thumbnails/imagensubida".$rowEmp['imagen']."\" border=\"0\" /><br></br>";

Etiquetas: Ninguno
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 13:06.