Foros del Web » Programando para Internet » PHP »

Subir imagen a MySqld

Estas en el tema de Subir imagen a MySqld en el foro de PHP en Foros del Web. Hola chicos, buenas noches, les explico mi problema, estoy haciendo un sistema para que los usuarios de mi web puedan añadir un avatar en mi ...
  #1 (permalink)  
Antiguo 21/01/2012, 15:22
laventanadewindows
Invitado
 
Mensajes: n/a
Puntos:
Subir imagen a MySqld

Hola chicos, buenas noches, les explico mi problema, estoy haciendo un sistema para que los usuarios de mi web puedan añadir un avatar en mi web, para ello tengo los siguientes archivos:

BASE DE DATOS (se llama 'login'):

CREATE TABLE 'usuarios' (
'id' int(11) NOT NULL auto_increment,
'imagen' LONGBLOB,
'tipo' VARCHAR(255),
PRIMARY KEY (id)
);

enviarimagen.html:

Código HTML:
<form action="subirimagen.php" method="post" enctype="multipart/form-data">
<input name="foto" type="file" size="10" accept="image/png" />
<input name="nombre" type="text" size="10" accept="image/png" />
<input type="submit" value="Subir" />
</form> 
enviarimagen.php:

Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('login')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

// Abro el archivo de imagen para cargar sus contenidos
$archivo $_FILES['foto'];

$fp fopen ($archivo'r');
if (
$fp){
$datos fread ($fpfilesize ($archivo)); // cargo la imagen
fclose($fp);

// averiguo su tipo mime
$tipo_mime 'image/png';
$isize imagesize ($archivo);
if (
$isize)
$tipo_mime $isize['mime'];

// La guardamos en la BD
$datos base64_encode ($datos);
$sql "INSERT INTO usuarios (imagen, tipo) VALUES ('$datos', '$tipo_mime');
$res = mysql_query($sql);
?>
De momento el único error que me da es este:

Parse error: syntax error, unexpected $end in C:\xampp\htdocs\LOGIN\subirimagen.php on line 25

Pero bueno, la última linea solo dice dice esto '?>'

Entonces me quedo pescando porque sinceramente no veo el fallo, podeis ayudarme?
  #2 (permalink)  
Antiguo 21/01/2012, 15:40
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 13 años, 2 meses
Puntos: 140
Respuesta: Subir imagen a MySqld

Se te ha olvidado cerrar el if: }

Saludos!
  #3 (permalink)  
Antiguo 21/01/2012, 15:45
laventanadewindows
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir imagen a MySqld

Lo he cambiado de esta manera:


Código PHP:
<?php
session_start
();
//datos para establecer la conexion con la base de mysql.
mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
mysql_select_db('login')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

// Abro el archivo de imagen para cargar sus contenidos
$archivo $_FILES['foto'];

$fp fopen ($archivo'r');
if (
$fp){
$datos fread ($fpfilesize ($archivo)); // cargo la imagen
fclose($fp);

// averiguo su tipo mime
$tipo_mime 'image/png';
$isize imagesize ($archivo);
}
if (
$isize) {
$tipo_mime $isize['mime'];

// La guardamos en la BD
$datos base64_encode ($datos);
$sql "INSERT INTO datos (imagen, tipo) VALUES ('$datos', '$tipo_mime');
$res = mysql_query($sql);
}
if (!$res) {
echo "
Error al ejecutar la consulta ($sql)n";
}
else {
echo "
Error al abrir el archivo";
}
?>
Pero ahora me da este error:

Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\LOGIN\subirimagen.php on line 28
  #4 (permalink)  
Antiguo 21/01/2012, 16:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Subir imagen a MySqld

Digo yo... ¿No sería buena idea que usases un editor de PHP que tenga corrector sintáctico?
De esa forma al menos los errores evidentes podrían ser corregidos sin tener que preguntar donde están.
¿No te parece?

Podrías usar el NetBeans u otro semejante, por ejemplo. De haberlo hecho podrías darte cuenta al instante que no cerraste las comillas en la línea 24...

¿Qué editor usas tu? ¿El Notepad de Windows?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 21/01/2012, 17:25
laventanadewindows
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir imagen a MySqld

jajaja exactamente el notepad...
porbare mañana abuscar lo que me dices...
por cierto tu donde ves el fallo aqui?

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\xampp\htdocs\LOGIN\registrar.php on line 20


$cumpleaños = ($_POST["dianacimiento"]"-"$_POST["mesnacimiento"]"-"$_POST["añonacimiento"]);
  #6 (permalink)  
Antiguo 21/01/2012, 19:16
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Subir imagen a MySqld

Tu mismo puedes apreciarla en el penultimo post. Fijate en esta parte:
Código PHP:
Ver original
  1. $cumpleaños = ($_POST["dianacimiento"]"-"$_POST["mesnacimiento"]"-"$_POST["añonacimiento"]);
Debería verse así:
Código PHP:
Ver original
  1. $cumpleaños = ($_POST["dianacimiento"]."-".$_POST["mesnacimiento"]."-".$_POST["añonacimiento"]);

Eso es desconocimiento de PHP. te falta práctica y un buen editor... Notepad es para los expertos, no para aprendizaje.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 21/01/2012 a las 19:26
  #7 (permalink)  
Antiguo 22/01/2012, 00:55
Avatar de ecarlevaro  
Fecha de Ingreso: octubre-2010
Ubicación: Paraná, Argentina
Mensajes: 80
Antigüedad: 14 años, 1 mes
Puntos: 13
Respuesta: Subir imagen a MySqld

Puedes usar Notepad++, es muy poderoso y te será muy fácil si ya estás con el Notepad de Windows.

Además está en español y el coloreado de sintaxis de los lenguajes es totalmente personalizable.
  #8 (permalink)  
Antiguo 22/01/2012, 04:03
laventanadewindows
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Subir imagen a MySqld

Muchas gracias, he descargado phpDesigner 8, en una version de 20 dias de prueba, y me va muy bien me marca las lineas erroneas en color rojo, pero la linea entera y no identifico cual es el error, ni tampoco me dice como corregirlo....:S
  #9 (permalink)  
Antiguo 22/01/2012, 13:16
Avatar de ecarlevaro  
Fecha de Ingreso: octubre-2010
Ubicación: Paraná, Argentina
Mensajes: 80
Antigüedad: 14 años, 1 mes
Puntos: 13
Respuesta: Subir imagen a MySqld

Pues si nos pasas el código y el error que te tira quizás podríamos orientarte.

Por cierto, una lectura obligada que tienes que hacer antes de continuar es http://ar.php.net/manual/es/language.types.string.php

Etiquetas: html, mysql, mysqld, sql, 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 14:14.