Foros del Web » Programando para Internet » PHP »

como inserto el avatar a un usuario registrado en php

Estas en el tema de como inserto el avatar a un usuario registrado en php en el foro de PHP en Foros del Web. ya hice el login, hice el registro, hice el panel de control y actualizacion de datos, pero lo que quiero hacer es que en el ...
  #1 (permalink)  
Antiguo 17/01/2010, 13:16
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Exclamación como inserto el avatar a un usuario registrado en php

ya hice el login, hice el registro, hice el panel de control y actualizacion de datos, pero lo que quiero hacer es que en el panel de control en donde actualizo mis datos pueda subir un avatar, un sistema parecido al que se trabaja en esta web, e buscado en todo san google pero lo unico que logre hacer es almacenar las fotos en mysql en blob espero su pronta ayuda porque ya no se que hacer llevo casi un mes y no me resulta XD
  #2 (permalink)  
Antiguo 17/01/2010, 13:19
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 10 meses
Puntos: 772
Hola krewer. Bienvenido al foro.

Muevo tu tema al foro de PHP desde Web general.

Saludos,
  #3 (permalink)  
Antiguo 17/01/2010, 13:25
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: como inserto el avatar a un usuario registrado en php

Tu servidor deja subir ficheros? Es mejor que meter la imagen en la bd (pesa mucho, ralentiza las consultas).
Si puedes subir ficheros move_upload_file()
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 17/01/2010, 13:33
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

mira este es el codigo con el que subo las imagenes a mysql

escoger_archivo.php
Cita:
<html>
<form enctype="multipart/form-data" action="images/guardar_archivo.php" method="post">

Descripción <input type="text" name="titulo" size="30">
Ubicación <input type="file" name="archivito">

<input type="submit" value="Enviar archivo">
</form>
</html>
guardar_archivo.php
Cita:
<?php
include ("../config.php");

$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_POST["titulo"];

if ( $archivo != "none" )
{
$fp = fopen($archivo, "rb");
$contenido = fread($fp, $tamanio);
$contenido = addslashes($contenido);
fclose($fp);

$qry = "INSERT INTO archivos VALUES
(0,'$nombre','$titulo','$contenido','$tipo')";

mysql_query($qry);

if(mysql_affected_rows($con) > 0)
print "Se ha guardado el archivo en la base de datos.";
else
print "NO se ha podido guardar el archivo en la base de datos.";
}
else
print "No se ha podido subir el archivo al servidor";
?>
  #5 (permalink)  
Antiguo 17/01/2010, 13:46
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: como inserto el avatar a un usuario registrado en php

Lo que tienes que hacer es poner un formulario para subir una imagen y a la vez, que la suba a tu host y registre la ruta completa de la imagen en un campo de la tabla donde guardes los datos de los usuarios.
Esto yo lo hice con parte de una galeria prefabricada de esas para subir fotos en la que entre otras muchas cosas estaba esto:
Código PHP:
$imgurl 'http://'.$_SERVER['HTTP_HOST'].preg_replace('/\/([^\/]+?)$/''/'$_SERVER['PHP_SELF']).$filedir.'/'.$newname
Y en el formulario metes un campo oculto que se llame por ejemplo avatar y que sea algo asi:
Código HTML:
<input type="hidden" name="avatar" value="<?php echo $imgurl; ?>" /> 
No se si me explico o si es lo que querías. Si lo que buscabas es algo ya hecho para nada mas que subirlo, prueba suerte en alguna página tipo http://www.hotscripts.com aunque te recomiendo que intentes hacerlo tu primero que aunque no lo consigas seguro que aprendes algo nuevo. Es mi rollo...

Gracias y Salud'Os!!
  #6 (permalink)  
Antiguo 17/01/2010, 13:54
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

en si lo que quiero hacer es por ejemplo, que cuando te registras y luego te logeas, vayas al panel de control y ahi te de la opcion de poder subir tu avatar, y luego en cualquier parte de la web que estes aparezca tu nick y el avatar que subiste, lo que e hecho yo es el registro de usuarios y el registro de imagenes pero no puedo unirlas y no se como
  #7 (permalink)  
Antiguo 17/01/2010, 13:58
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: como inserto el avatar a un usuario registrado en php

No he entendido mucho lo que explicó Joystickoso . Yo te pongo un código de ejemplo de cómo dejar el fichero en el directorio que quieras con los permisos que quieras de forma sencilla. El formulario es como te indicaron más arriba:
Código HTML:
Ver original
  1. <form name="nombre" enctype="multipart/form-data" action="subir.php" method=POST>
  2. <input type="file" name="archivo">
  3. </form>

y en subir.php:

Código PHP:
Ver original
  1. $aleatorio=rand(81,150400);
  2.     $uploadDir = './upload/avatar/'.$aleatorio.'-';
  3.     $uploadFile = $uploadDir . $_FILES['archivo']['name'];
  4.     move_uploaded_file($_FILES['archivo']['tmp_name'], $uploadFile);
  5.  
  6. chmod("upload/avatar/".$aleatorio."-".$_FILES['avatar']['name'], 0777);
  7.  
  8. $ruta="http://www.tudominio.com/upload/avatar/".$aleatorio."-".$_FILES['avatar']['name'];

El aleatorio es para que no se repitan nombres de archivo, no vayan a sobreescribirse. También deberías comprobar si es una imagen o no. Eso ya lo dejo de tu mano y para tí xD

Saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 17/01/2010, 14:06
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

muchas gracias chulosoy, pero no me resulta el codigo xD, lo que necesito es que el usuario ya loegado suba su avatar y este se vea en cualquer parte de la web, eh podido subir avatares con el codigo que puse arriba, pero no puedo hacer que cada usuario tenga uno
  #9 (permalink)  
Antiguo 17/01/2010, 14:10
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: como inserto el avatar a un usuario registrado en php

Joder, eso se hace en la base de datos. Cae de cajón que tienes que meter la ruta en el registro del usuario (hacer un campo que diga avatar de tipo text por ejemplo). Digo yo que algo tendrás que hacer tú.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #10 (permalink)  
Antiguo 17/01/2010, 14:18
Avatar de Joystickoso  
Fecha de Ingreso: enero-2009
Mensajes: 127
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: como inserto el avatar a un usuario registrado en php

En la tabla donde guardas los datos de los usuarios como el nombre y la contraseña, le añades otro campo que se llame por ejemplo avatar y ahí registras la url de la imagen.
Y luego lo único que tienes que hacer es una consulta a esa tabla para que aparezca la imagen.
La consulta sería que te muestre el campo avatar de la tabla de usuarios donde el nombre de usuario sea igual a $_SESSION['MM_Username'] (que es el nombre que a logeado).
Era esto lo que qerías?

Salud'Os!!
  #11 (permalink)  
Antiguo 17/01/2010, 14:34
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

muchas gracias, otra cosa mas el campo "avatar" como lo creo, como varchar, blob, etc..?
  #12 (permalink)  
Antiguo 18/01/2010, 11:43
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

muchas gracias, me sirvio harto el codigo que me dieron, pero ahora tengo el siguiente problema, ajuste el codigo y todo pero cuando subo la imagen me sale lo siguiente

Cita:
Warning: move_uploaded_file(./upload/122605-P1220011.JPG) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\AppServ\www\Dathporth\Data\images\subir.php on line 8

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php18F.tmp' to './upload/122605-P1220011.JPG' in C:\AppServ\www\Dathporth\Data\images\subir.php on line 8

Warning: chmod() [function.chmod]: No such file or directory in C:\AppServ\www\Dathporth\Data\images\subir.php on line 12
reviso el mysql y me registra la url pero sin la imgen registrada
aqui esta lo que sale

Cita:
http://localhost/Dathporth/upload/103389-
y aqui les dejo el codigo para que vean si hay algun error

Código PHP:
Ver original
  1. <?php
  2.    include ("../config.php");
  3.       $aleatorio=rand(81,150400);
  4.    
  5.          $uploadDir = './upload/'.$aleatorio.'-';
  6.              $uploadFile = $uploadDir . $_FILES['archivo']['name'];
  7.    
  8.           move_uploaded_file($_FILES['archivo']['tmp_name'], $uploadFile);
  9.    
  10.        
  11.    
  12.       chmod("upload/".$aleatorio."-".$_FILES['avatar']['name'], 777);
  13.  
  14.       $ruta="http://localhost/Dathporth/upload/".$aleatorio."-".$_FILES['avatar']['name'];
  15.      
  16.     $SQL= "UPDATE users SET avatar='ruta' WHERE nick='$_SESSION[usuario]'";
  17.    
  18.     mysql_query($SQL);
  19. ?>

Última edición por krewer; 18/01/2010 a las 11:49
  #13 (permalink)  
Antiguo 18/01/2010, 11:49
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años, 7 meses
Puntos: 14
Respuesta: como inserto el avatar a un usuario registrado en php

Asegurate que el directorio de la ruta que esta en $uploadFile donde estas enviando el archivo existe realmente .. imprime como queda el $uploadFile y ahi te das cuenta si la ruta es correcta o no, porque como dice el error no esta encontrando el directorio.

Saludos.
  #14 (permalink)  
Antiguo 18/01/2010, 12:08
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

listo, muchas gracias ya lo arregle, pero ahora me queda solo esto

Cita:
Warning: chmod() [function.chmod]: No such file or directory in C:\AppServ\www\Dathporth\Data\images\subir.php on line 9
  #15 (permalink)  
Antiguo 18/01/2010, 12:14
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

tengo otra duda, estuve revisando los archivos y me percate que cuando subo las imagenes me quedan grabadas en images y no en upload :S les dare mi ruta

index.php
data/images/subir.php
upload/
etc..

acaso el subir.php lo deberia tener en la carpeta upload???

Última edición por krewer; 18/01/2010 a las 12:28
  #16 (permalink)  
Antiguo 18/01/2010, 12:30
 
Fecha de Ingreso: enero-2010
Mensajes: 33
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: como inserto el avatar a un usuario registrado en php

voy bien, me almacena la ruta de las fotos, pero ahora intento mostrarlas y no puedo , no se si sera por el error que tengo ese de

Cita:
Warning: chmod() [function.chmod]: No such file or directory in C:\AppServ\www\Dathporth\Data\images\subir.php on line 9
o porque tengo malo el codigo

Código PHP:
Ver original
  1. <img src="<?php echo user_ok[avatar]?>" />
  #17 (permalink)  
Antiguo 18/01/2010, 15:11
 
Fecha de Ingreso: abril-2006
Ubicación: Bogotá
Mensajes: 251
Antigüedad: 18 años, 7 meses
Puntos: 14
Respuesta: como inserto el avatar a un usuario registrado en php

Si, te dice efectivamente que no encuentra el directorio, revisa de nuevo este y ponle el $ a esto:

Código PHP:
user_ok[avatar
Que quede:

Código PHP:
$user_ok["avatar"
Saludos!
  #18 (permalink)  
Antiguo 18/01/2010, 15:48
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 10 meses
Puntos: 29
Respuesta: como inserto el avatar a un usuario registrado en php

Tu problema era este:

Código PHP:
Ver original
  1. $uploadDir = './upload/'.$aleatorio.'-';
  2. //resto
  3.  
  4. $ruta="http://localhost/Dathporth/upload/".$aleatorio."-".$_FILES['avatar']['name'];
debería ser
Código PHP:
Ver original
  1. $uploadDir = './upload/'.$aleatorio.'-';
  2. //resto
  3.  
  4.  $ruta="http://localhost/Dathporth/".$aleatorio."-".$_FILES['avatar']['name'];

y el directorio LoQueSea/Dathport/upload debería existir.

saludos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #19 (permalink)  
Antiguo 12/11/2013, 03:44
all7
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: como inserto el avatar a un usuario registrado en php

puedes ayudarme en el tema como insertar avatar de pefil
gracias

Etiquetas: avatar, usuarios
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 06:16.