Leyendo distintos foros de PHP, me encontré con uno en el que ofrecían dinero por hacer un script que subiendo una foto mediante un formulario HTML, se guarde esta en un campo BLOB de mysql, y su miniatura en otro campo BLOB, y que al final del script no deberían quedar ni la foto ni la miniatura en el servidor, solamente en la base de datos mysql.
Pues como que me picó el bicho y me animé a hacerlo, y aquí les publico el script para que lo usen si es que lo necesitan.
¿Qué necesitamos?
Para crear la miniatura necesitamos la Librería Gráfica GD, en este script estamos usando la versión 2.0.28 de esta librería.
Si esta librería está activada, en el phpinfo()
debe salir algo como esto:
Si no la tenemos activada solo tenemos que modificar el archivo php.ini que se encuentra en C:\Windows (puede variar según tu versión de Windows), y agregar la línea extension=php_gd2.dll
en la sección "Dynamic Extensions". El archivo php_gd2.dll debe estar en la carpeta "extensions" dentro del directorio donde instalaste el php, por ejemplo "C:\php\extensions". Si no tienes el archivo php_gd2.dll, te lo puedes descargar aquí.
Desarrollo del Script
El formulario de upload y el script php está en una sola página, la nombré como blob.php, empezemos entonces:
// Verificamos que el formulario no ha sido enviado aun
$postback = (isset($_POST["enviar"])) ? true : false;
if($postback){
// Nivel de errores
error_reporting(E_ALL);
// Constantes
# Altura de el thumbnail en píxeles
define("ALTURA", 100);
# Nombre del archivo temporal del thumbnail
define("NAMETHUMB", "/tmp/thumbtemp"); //Esto en servidores Linux, en Windows podría ser:
// define("NAMETHUMB", "c:/windows/temp/thumbtemp"); y te olvidas de los problemas de permisos
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "test");
# Usuario de base de datos
define("DBUSER", "root");
# Password de base de datos
define("DBPASSWORD", "");
// Mime types permitidos
$mimetypes = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
// Variables de la foto
$name = $_FILES["foto"]["name"];
$type = $_FILES["foto"]["type"];
$tmp_name = $_FILES["foto"]["tmp_name"];
$size = $_FILES["foto"]["size"];
// Verificamos si el archivo es una imagen válida
if(!in_array($type, $mimetypes))
die("El archivo que subiste no es una imagen válida");
// Creando el thumbnail
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
$img = imagecreatefromjpeg($tmp_name);
break;
case $mimetypes[2]:
$img = imagecreatefromgif($tmp_name);
break;
case $mimetypes[3]:
$img = imagecreatefrompng($tmp_name);
break;
}
$datos = getimagesize($tmp_name);
$ratio = ($datos[1]/ALTURA);
$ancho = round($datos[0]/$ratio);
$thumb = imagecreatetruecolor($ancho, ALTURA);
imagecopyresized($thumb, $img, 0, 0, 0, 0, $ancho, ALTURA, $datos[0], $datos[1]);
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
imagejpeg($thumb, NAMETHUMB);
break;
case $mimetypes[2]:
imagegif($thumb, NAMETHUMB);
break;
case $mimetypes[3]:
imagepng($thumb, NAMETHUMB);
break;
}
// Extrae los contenidos de las fotos
# contenido de la foto original
$fp = fopen($tmp_name, "rb");
$tfoto = fread($fp, filesize($tmp_name));
$tfoto = addslashes($tfoto);
fclose($fp);
# contenido del thumbnail
$fp = fopen(NAMETHUMB, "rb");
$tthumb = fread($fp, filesize(NAMETHUMB));
$tthumb = addslashes($tthumb);
fclose($fp);
// Borra archivos temporales si es que existen
@unlink($tmp_name);
@unlink(NAMETHUMB);
// Guardamos todo en la base de datos
#nombre de la foto
$nombre = $_POST["nombre"];
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$sql = "INSERT INTO tabla(nombre, foto, thumb, mime)
VALUES
('$nombre', '$tfoto', '$tthumb', '$type')";
mysql_query($sql, $link) or die(mysql_error($link));
echo "Fotos guardadas";
exit();
}
?>
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Imagen a Blob</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form name="frmimage" id="frmimage" method="post"
enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF'];?>">
Nombre: <input type="text" id="nombre" name="nombre" /><br />
Imagen: <input type="file" id="foto" name="foto" /><br />
<input type="submit" name="enviar" id="enviar" value="Guardar" />
</form>
</body>
</html>
Las primeras líneas controlan que el formulario aun no se ha enviado, despues definimos constantes para guardar los archivos en nuestra base de datos, solo las cambiamos según nos convenga.
Despues verificamos si el archivo que subimos es una imagen para esto verificamos su tipo MIME. Los tipos que se permiten en este script son "image/jpeg" , "image/gif" e "image/png". Caso contrario recibiremos el mensaje "El archivo que subimos no es una imagen válida".
Según el tipo MIME de la imagen, crearemos la miniatura con las funciones imagecreatefromjpeg()
, imagecreatefromgif()
o imagecreatefrompng()
.
La función imagecopyresized()
crea la miniatura de la imagen, aunque también podemos utilizar imagecopyresampled()
.
Y aquí el script que utilizé para la tabla:
`idfoto` int(3) NOT NULL AUTO_INCREMENT,
`nombre` varchar(255) NOT NULL DEFAULT '',
`foto` blob NOT NULL,
`thumb` blob NOT NULL,
`mime` varchar(40) NOT NULL DEFAULT '',
PRIMARY KEY (`idfoto`)
) ;
Ustedes ya le agregan los campos que necesiten.
Actualización
Dado que el soporte GIF fue retirado por completo de la biblioteca GD en la versión 1.6, la función imagegif
no se encuentra disponible si está usando tal versión de la biblioteca GD. Se espera que el soporte para esta característica regrese en una versión posterior al relanzamiento del soporte GIF en la biblioteca GD a mediados de 2004. Para más información, consulte el sitio web del Proyecto GD.
Para que nuestro script funcione corréctamente la carpeta que lo contiene debe tener permisos de escritura, la mayoría de hostings que ofrecen PHP tienen los archivos bajo la carpeta public_html, no se sugiere correr este script bajo la carpeta raiz, ya que si damos permisos de escritura a public_html otros usuarios pueden acceder y modificar nuestros archivos. La sugerencia es correr el script bajo una carpeta cualquiera diferente de la raiz, por ejemplo /thumbs/blob.php, asi no tendremos problemas de seguridad.
Actualización 2
Agregué al script en el arreglo de mimes el tipo "image/pjpeg" para que no haya problemas al subirlo, también a sugerencia de mi master Alex cambié la ruta de la NAMETHUMB, para que se guarde en la carpeta temporal del SO en el que se ejecuta. Si es windows entonces c:\Windows\Temp\ y si es linux /tmp/, etc.
Enlaces
Autor
Braulio Andrés Soncco Pimentel
Programador - Diseñador
braulio at buayacorp.com
244 replies on “Guardar una imagen y su miniatura a un campo Blob de mysql”
Andrés me parece que lo estan pidiendo que el thumbail de la imagen lo manejes en memoria no en un archivo temporal fijate donde dice "no se puede guardar en una carpeta en el servidor, solo en un campo BLOB". Si me equivoco perdon, pero me parece que no es lo que se pedía
Al final del Script, no queda ni un archivo en el servidor, solo en la base de datos.
Que va en "Nombre del archivo temporal del thumbnail"?
Es un nombre cualquiera, es el nombre del archivo que se guardará temporalmente antes de añadirlo a la base de datos.
Esta muy bien, pero es que soy nuevo y estoy aprendiendo, y no se como hacer la tabal de la base de datos, osea los parametros de nombre, foto, tumbs, mime. Si alguien puede ayudarme, se lo agradezco.
Saludos.
El Script de la tabla es este. Si tienes más dudas escríbeme braulio @ buayacorp.com
CREATE TABLE `tabla` (
`idfoto` int(3) NOT NULL auto_increment,
`nombre` varchar(255) NOT NULL default '',
`foto` blob NOT NULL,
`thumb` blob NOT NULL,
`mime` varchar(40) NOT NULL default '',
PRIMARY KEY (`idfoto`)
) ;
me da error:
Warning: imagejpeg(): Unable to open 'thumbtemp' for writing in /sitios/m1547/discocompartido.com.ar/public_html/test.php on line 59
Hola soy nuevo en php y mysql y queria saber ya que por lo que veo la tienen bastante clara es si alguno sabe algun buen manual en castellano sobre mysql me salta un error default-character-set=latin1 y ya no se donde buscar la solucion. Mil perdones ya que no tiene que ver con el tema.
buena buena..... buena idea... ahora la voy a ocupar... grax
muy bueno el script muy bien pensado 😉
primero gracias por el curro, pero lo he probado y no introduce nada en la tabla, y tampoco da ningún error. El script está listo para usar?
gracias
Si, el script está listo para usar, estás seguro que no produce ningún error?, haz creado la tabla según el script?,
revisa bien. Copia el código tal como está. Asegúrate de que la línea error_reporting(E_ALL) está ahi, ten en cuenta también los permisos de la carpeta donde estás corriendo el script.
Saludos
Hola, parece que todo esta bien, pero...cuando inserto una jpeg me da el mensaje de error "la imagen no es valida" y cuando intento insertar un gif me da un error de mysql.alguien me puede aclarar lo que pasa. Gracias
Hola...cuando intento guardar una imagen me envia un error que dice "El archivo que subiste no es una imagen válida"...a que se debe....gracias
tengo una pregunta para usted: como hago para guardar un archivo imagen. tiff en un campo blob (developer 6i) oracle9
Este error se debe a que en el arreglo de tipos permitidos no agregué todos los tipos (el pjpeg por ejemplo). Este fin de semana actualizaré el Script para que lo puedan usar.
Saludos
Ya pronto, paciencia 😉
Como hago para ver o descargar las imagenes guardadas en la base de datos?
Puedes verlo en este enlace.
Súper interesante tu script, felicitaciones! AUnque no pude echarlo a funcionar, pero no importa, vale el esfuerzo y si le ha ido bien a otros, incluyéndote,entonces vale. Es mi problema el no saber configurar algo que se me escapa en estos momentos.
Pasando aotro tema, te agradecería mucho que me respondieras a mi eMail por lo siguiente:
Tengo un formulario para subir contenido y necesito que me permita browsear la imagen en mi PC, seleccionarla y luego de haber llenado el resto del formulario con el texto de resumen y el de detalle, que el script sea capaz de subir la foto en un directorio configurado en el mismo script.
Imagino que tú sabes bien a que me refiero y debes tener por ahí algo que me permita hacer esto. Yo he construido el formulario con el Dreamweaver y me funciona sumamente bien, coloca el texto y toda la información en la base de datos MySQL sin problemas, pero necesito lo de la foto, ya que actualmente tengo que valerme de un script externo para hacer esta operación, lo cual es engorroso.
De veras te agradeceré mcho si me ayudas, ya sabes mi correo.
Un fuerte abrazo,
Ricardo
me da error:
Warning: imagejpeg(): Unable to open 'tn_urugy.jpeg' for writing
en serv.windows no tengo problema, pero cuando lo paso el server linux...ahí comienzan los problemas y me aparecen esos lios.
Saludos Robert
Tienes que cambiar los permisos de la carpeta donde quieres guardar las miniaturas. Está explicado en el artículo.
Saludos
Quiero hacer esto con Microsoft SQL, pero no encuentro como definir el tipo de datos BLOB, cual seria el equivanelnte de tu rutina: en MS sql ???
CREATE TABLE `tabla` (
`idfoto` int(3) NOT NULL AUTO_INCREMENT,
`nombre` varchar(255) NOT NULL DEFAULT '',
`foto` blob NOT NULL,
`thumb` blob NOT NULL,
`mime` varchar(40) NOT NULL DEFAULT '',
PRIMARY KEY (`idfoto`)
) ;
El equivalente de "blob" en SQL Server es "image", la tabla quedaría más o menos asi:
CREATE TABLE tabla (
idfoto integer NOT NULL IDENTITY(1,1),
nombre varchar(255) NOT NULL,
foto image NOT NULL,
thumb image NOT NULL,
mime varchar(40) NOT NULL,
PRIMARY KEY (idfoto)
) ;
Saludos
hola braulio:tengo q entregar mi proyecto final de curso y lo estoy haciendo en php ,el problema es q necesito guardar imagenes en la base de datos para despues mostrarlas en una especie de catalogo de productos. cuando inserto un nuevo producto a ese catalogo tengo q insertarle una imagen y ese es mi problema. YA HE MIRADO EL SCRIPT Q HAS DEJADO XO X ALGUNA CAUSA NO FUNCIONA Y LA VERDAD ES Q NO SE Q HACER , ESTOY COMO LOCO BUSCANDO LA SOLUCION AL PROBLEMA PLANTEADO . SI ALGUIEN ME PUEDE AYUDAR LE ESTARE ETERNAMENTE AGRADECIDO.
Esta pagina tiene este ejemplo q opinas de esto?
http://www.programacion.com/articulo/datos_blob/
Warning: imagejpeg(): Unable to open 'thumbtemp' for writing in public_html/admin/modulos/galeria.php on line 90
Warning: fopen(thumbtemp): failed to open stream: No such file or directory in public_html/admin/modulos/galeria.php on line 94
Warning: filesize(): Stat failed for thumbtemp (errno=2 - No such file or directory) in public_html/admin/modulos/galeria.php on line 95
Warning: fread(): supplied argument is not a valid stream resource in public_html/admin/modulos/galeria.php on line 95
Warning: fclose(): supplied argument is not a valid stream resource in public_html/admin/modulos/galeria.php on line 97
ke onda por ke no puede scribir en el archivo y por ke no lo encuentra
me guarda la foto pero no el thumbnail y tira este error
Warning: imagejpeg(): Unable to open 'thumbtemp' for writing in /home/borgocai/public_html/admin/modulos/galeria.php on line 71
Warning: fopen(thumbtemp): failed to open stream: No such file or directory in /home/borgocai/public_html/admin/modulos/galeria.php on line 81
Warning: filesize(): Stat failed for thumbtemp (errno=2 - No such file or directory) in /home/borgocai/public_html/admin/modulos/galeria.php on line 82
Warning: fread(): supplied argument is not a valid stream resource in /home/borgocai/public_html/admin/modulos/galeria.php on line 82
Warning: fclose(): supplied argument is not a valid stream resource in /home/borgocai/public_html/admin/modulos/galeria.php on line 84
Cuando quiero mostrar las imagenes guardadas, me aparece un cuadradito con un X [x] y no me muestra la imagen.
Alguien sabe a que se puede deber este problema? Socorrooooooooooo
Para Rodrigo, ese error es porque no tienes los permisos necesarios, revisa bien los permisos, como dice en el artículo trata de que las fotos se guarden en un directorio diferente a la raiz.
Para Esteban, no puedo ayudarte porque no veo cómo estás mostrando las imágenes exáctamente, te sugiero ver éste artículo.
para guardar el thumbnail hay que crear un a carpeta en el servidor ?
A pesar de todo si se puede subir el archivo....pero los archivos jpg se guardan como pjpeg como cambio eso?
Y despues de eso no puedo ver la imagen solo sale el tipico cuadrito con una X adentro, cuando no puede mostrar la imagen.
Otra cosa a medida q guardo archivos pjpeg en la base de dato mysql aumenta automaticamente los "idfoto" eso lo entiendo, pero si llego a guardar "5" archivos y despues los borro y luego vuelvo a subir archivos el "idfoto" empieza en el numero "6" como puedo hacer para q empieze en el numero "1"?
Sobre tu primera pregunta, ya NO es necesario crear una carpeta en el servidor, lo único que tienes que hacer es cambiar
define("NAMETHUMB", "thumbtemp");
, pordefine("NAMETHUMB", "/tmp/thumbtemp");
, como verás se añadió "/tmp/", esto representa la carpeta temporal de tu sistema (para Linux /tmp, para windows probablemente c:/windows/temp), así ya no hay problemas con los permisos.Ahora sobre los pjpeg, es problema del Internet Explorer, pero igual debería funcionar...
Sobre los auto_increment del MySQL, para que se reusen los valores eliminados automáticamente tienes que usar otro tipo de tablas (no MyISAM), podrías asignar manualmente los nuevos ID's pero sería engorroso, así que mejor lo dejas tal como está...
Mi profesor braulio tenía que actualizar eso en su artículo, pero al parecer está demasiado ocupado como para hacerlo, así que me tomé la libertad de contestarte...
Saludos
Hola:
un pequeño problema, ya active la libreria gd, pero la normal la php_gd.dll por que la otra dice que no la encuentra pero si esta en el directorio, ademas cuando quiero ver la imagen se queda con un tache asi cuando no se ven. si me puedes ayudar a hecharlo andar te lo agradecere
Grasias por tu articulo me sirvio mucho y es muy ilustrativo.
Hola
Muy buen contenido, Felicitaciones.
Tengo otras dudas..
Digamos que la tabla ahora empieza en 6 y sigue 7,8,9,10 , ahora tengo 5 fotos en la tabla empezando desde "6" ¿asi debe funcionar? no necesita el "idfoto" numero "1" para poder mostrar la foto?
Otra pregunta utilizo dreamweaver y leyendo unos manuales descubri que dreamweaver no extrae datos binarios de tablas (en este caso de MySQL) ¿tendra q ver esto en algo ,como para que no se pueda ver las imagenes o el codigo publicado en este articulo no tiene q ver con eso?
Para probar la pagina antes de subirla al servidor web la estoy ejecutando en un servidor apache. Todos los archivos los ejecuto dentro de la carpeta del servidor apache (la carpeta donde se ejecutan todos los archivos) ¿MySQL debe estar dentro de esta carpeta?
No, el id de la foto cambia cada vez
<img src="verblob.php?idfoto=6&tam=1" alt="Imagen desde Blob" />
En este caso te mostrará la foto que está identificada con el id "6", revisa bien éste artículo.
Dreamweaver simplemente es un editor, no esperes que Dreamweaver te muestre todo lo que haces, los resultados ya los verás en el navegador.
Y mysql puede estar donde tú quieras, o donde lo hayas instalado o en un servidor externo, para que el script funcione simplemente debes seguir los pasos del artículo.
Saludos
Hola
Tengo problemas al guardar las imagenes. Suponiendo que tengo una imagen de 500Width 800Height:
-Cuando le de doy enviar en el formulario, esta
no me guarda la imagen completa en el archivo blob. Muestra la imagen desde el primer pixel de altura, hasta la mitad mas omenos (aprox 400px o 600px) y lo que resta para completar el tamaño de la imagen me la muestra en blanco o transparente.
¿Como puedo solucionar este problema? Ya intente haciendo mas grande el buffer de memoria de el php.ini para la cantidad de memoria que pasa por los POST, incremente el tiempo de espera para la ejecucion de archivos en el mismo archivo.
¿Creen que tenga que buscar en otro lado?
¿Donde podria estar este problema?
Hola, Encontre la respuesta ami post anterior...
Para que no se guardara simplemente 80% de la imagene siendo que exede el tamaño del campo, simplemente cambio el tipo BLOB por LONGBLOB y listo.
Roberto: yo tuve bastante problema con la identificación de la php_gd2.dll, la puse en c:\php\extensions y no me la veia el info.php. Lo solucioné colocando la que tiene de 776Kb de tamaño; que puedes sacarla de los binaries de un php para windows en php.net
Magnifico artículo. Claro, conciso y eficiente.
Felicidades y gracias
Cómo es que no me pasa la foto como argumento POST del script. Lo que digo es q si hago un print_r del $_POST sólo me aparecen enviar y nombre. Que pasa?
Fíjate si tu form tiene el atributo enctype="multipart/form-data"
tiene el atributo enctype="multipart/form-data"
El codigo es el siguiente:
">
Nombre:
Imagen:
y al hacer un print_r($_POST); me sale:
Array
(
[nombre] => ds
[enviar] => Guardar
)
y no me pone nada de [foto] (print_r imprime un array)
Y si haces un print_r($_FILES) ???
grácias
lo dl print_r($_FILES) si q me funciona
A ver que tal me va ahora...
Saludos!
tengo este problema, escribi este script para subir imagenes al servidor y funciona a medias tintas, porq sube el archivo pero sin su extension entonces cuando lo quiero que se "imprima" en la pagina no reconoce nada. Se me ocurrio poner en el script del array que muestra la foto agregarle la extension pero en el formulario doy la posibilidad de subir imagenes gif y jpg y no quiero limitar el form a un solo formato. es muy importante para mi resolver esto y te agradeceria que me des una ayuda con esto. para lo que te pueda servir... ALI (como mohamed). aca va el script
Se ha transferido el archivo $archivo_name";
echo "Su tamaño es: $archivo_size bytes";
echo "El fichero es tipo: $archivo_type ";
}
}else{
echo "No ha podido transferirse el fichero";
echo "su tamaño no puede exceder de $lim_tamano bytes";
}
?>
este es el script del post anterior
Se ha transferido el archivo $archivo_name";
echo "Su tamaño es: $archivo_size bytes";
echo "El fichero es tipo: $archivo_type ";
}
}else{
echo "No ha podido transferirse el fichero";
echo "su tamaño no puede exceder de $lim_tamano bytes";
}
?>
no me publica es script espero q a vos te haya llegado. sino mandame un mail que te lo envio.
mi problema era el siguiente:
Warning: filesize() [function.filesize]: stat failed for c:/windows/temp/thumbtemp in
Warning: fread() [function.fread]: Length parameter must be greater than 0. in
y lo resolvi asumiendo que necesita in valor integer en la expresion filesize
$fp = fopen(NAMETHUMB, "rb");
$tthumb = fread($fp, filesize(NAMETHUMB));
$fp = fopen(NAMETHUMB, "rb");
$tthumb = fread($fp, filesize(NAMETHUMB));
Hola, ya he revisado de pies a cabeza el script y todo se ve bien, mi servidor esta en windows y me arroha la siguiente error
"Parse error: parse error in c:\domains\mismascotas.com.ve\wwwroot\grardarfotomysql.php on line 12"
la linea del scrip esta asi
define("NAMETHUMB", "c:/windows/temp/thumbtemp");
Hola
Tego un problema con NAMETHUMB. he intentado usar los dos metodos, Linux y Windows en :
//define("NAMETHUMB", "/tmp/thumbtemp"); //Esto en servidores Linux, en Windows podría ser:
define("NAMETHUMB", "C:/windows/temp/thumbtemp"); //y te olvidas de los problemas de permisos
y al ir a guardar la foto me aparecen estos mensajes de error:
Warning: imagejpeg(): Unable to open 'c:/windows/temp/thumbtemp' for writing in /home/wwwfotbmak/domains/fotoclubterrassa.com/public_html/testphp/blob.php on line 70
Warning: fopen(): Unable to access c:/windows/temp/thumbtemp in /home/wwwfotbmak/domains/fotoclubterrassa.com/public_html/testphp/blob.php on line 86
Warning: fopen(c:/windows/temp/thumbtemp): failed to open stream: No such file or directory in /home/wwwfotbmak/domains/fotoclubterrassa.com/public_html/testphp/blob.php on line 86
Warning: filesize(): Stat failed for c:/windows/temp/thumbtemp (errno=2 - No such file or directory) in /home/wwwfotbmak/domains/fotoclubterrassa.com/public_html/testphp/blob.php on line 87
Warning: fread(): supplied argument is not a valid stream resource in /home/wwwfotbmak/domains/fotoclubterrassa.com/public_html/testphp/blob.php on line 87
Warning: fclose(): supplied argument is not a valid stream resource in /home/wwwfotbmak/domains/fotoclubterrassa.com/public_html/testphp/blob.php on line 89
Fotos guardadas
la carpeta donde guarde blob.php tiene privilegios de lectura y escritura, pero sigo sin encontrar una solucion.
Gracias
esta muy interesante el codigo pero me da el siguiente error Fatal error: Call to undefined function: imagecreatetruecolor() in ... on line 47, en esa linea está $thumb = imagecreatetruecolor($ancho, ALTURA);
Me podras ayudar??? :S muchisimas gracias
Solange, el problema es que no tienes la librería GD, revisa bien el artículo y baja la librería que ahi te muestro como configurarla, la librería está en:
http://www.buayacorp.com/files/php/php_gd2.zip
TE AGRADESCO MUCHO ESTE SCRIPT QUE NOS HAS PROPORCIONADO NOS HA SERVIDO DE MUCHO, PERO TENGO UN PEQUE
Fany, con este método sólo podrás visualizar una imagen a la vez, para visualizar otra tienes que hacer otra página adicional, sobre tu idea de guardar las imágenes en el cliente no entiendo muy bien, pero la manera más sencilla de hacerlo es subir las imágenes a un directorio de tu servidor y luego utilizar etiquetas
img
, en la base de datos sólo guardarías los nombres de los archivos...Saludos
hola. he estado tratando muchisimo de cargar en una pagina todas las imagenes que tengo en la tabla de la BD mysql. pero solo me muestra una sola. el codigo en resumen:
$result = mysql_query ("SELECT idfoto,foto FROM tabla",$link);
while($row=mysql_fetch_array($result))
{
header("Content-type: image/jpeg");
echo $row["foto"];
}
Porque solo me muestra una sola de todas las que tengo...Gracias de antemano
María, como he mencionado en el comentario anterior al tuyo no puedes mostrar varias imágenes usando sólo una página, tienes que usar un mínimo de 2:
* Una que muestre la imagen en base a un código o nombre.
* La otra haciendo la iteración sobre las imágenes que quieres mostrar, haciendo uso de la primera página:
<img src="pagina1.php?codigo=$fila[codigo]" />
Saludos
ah ok. entonces lo ideal para hacer una galeria es con archivos en ves de data base??
Asi es, es mejor hacerlo con archivos, algún tipo de sistema que te acepte upload de imágenes, y redimension con GD, en vez de uno que guarde en base de datos.
si bueno asi lo he estado haciendo. pero con todo este boom de la database pense que era mas factible.gracias!!!!!! muy amable
necesito de su ayuda, estoy haciendo una pagina web en la cual se requieren meter documentos adjuntos pero para eso debo utilizar el BLOB, lo malo es que no se cmo funciona ni como se debe insertar en ese campo, estoy utilizando mysql,dreamweaver y php, si me pudieran ayudar se los agradeceria mucho.
Hola este error pq se da: Table 'test.tabla' doesn't exist¿?
he copiado todo exactamente como esta...
jaalnapa@hotmail.com si alguien me quiere ayudar
todo me funciona perfecto pero cuando una
imagen es un poco grande (digamos mas de 400 kilos o por ahi) o mas que eso, me da el
siguiente error:
Fatal error: Allowed memory size of 8388608 bytes exhausted at (null):0
(tried to allocate 11844 bytes)
Alguien sabe a que se puede deber este error??
Muchas gracias.
Sorry ya lo correji... tremendo pelon... estaba colocando mal la base de datos...
Hola que tal!
Miren mi problema es este:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'f:/Windows/Temp/' for writing in f:\wamp\www\thumb\blob.php on line 52
Warning: fopen(f:/Windows/Temp/) [function.fopen]: failed to open stream: Permission denied in f:\wamp\www\thumb\blob.php on line 68
Warning: fread(): supplied argument is not a valid stream resource in f:\wamp\www\thumb\blob.php on line 69
Warning: fclose(): supplied argument is not a valid stream resource in f:\wamp\www\thumb\blob.php on line 71
Fotos guardadas
Me guardo la foto pero NO el thumbnail.
Cambie los permisos de la carpeta que contiene blob.php pero vuelvo a mirar sus propiedades y aparece de nuevo tickado solo lectura.
Otra cosa la ruta de NAMETHUMB como es al final??
a:c:\Windows\Temp\
b:c:/windows/temp/thumbtemp
c:c:/windows\temp\thumbtemp
Utilizo wamp5 y lo estoy ejecutando en mi pc.
Grac ias de antemano!
Felicito a quienes ayudan a otros a desarrollar sus sitios web.
Tengo algunos sitios con base de datos, en los cuales subo imágenes blob.
Todo funciona bien, pero necesito desarrollar una galería de imágenes, en que pueda presentar 3 o 4 fotos por fila.
Lo más usual es mostrar un registro por línea, pero me gustan las cosas difíciles. Ya vi un comentario en que proponen hacerlo sin blob, pero tiene que haber algún modo de hacerlo y si alguien lo sabe, mucho agradeceré su ayuda.
Buena Caza
Hola,
Pablo: Al parecer el usuario bajo el que se ejecuta el servidor web, no tiene permisos de escritura sobre c:\Windows\Temp\ (cosa extraña), lo que puedes hacer es definir un directorio donde se tenga estos privilegios. Por otro lado "thumbtemp" es el nombre con el que se crea temporalmente el thumbnail.
Oso Cebado: Como ya había mencionado en comentarios anteriores, para evitar hacer uso de los blobs, tienes que guardar las imágenes en algún directorio de tu servidor web y en tu base de datos sólo guardas esas rutas (nombres) de esas imágenes...
Saludos
hola como estan besos
Gracias 🙂
HOLA SE QUE MI PREGUNTA ES MUY TONTA, ES QUE ME MANDA ESTE MENSAJE DE ERROR
Fatal error: Call to undefined function: imagecreatefromjpeg()
COMO HAGO ESA FUNCION POR QUE NO LA TENGO
LO SIENTEO PERO TE AGRADECERIA QUE ME DIJIERAS
[...] en el servidor, solamente en la base de datos mysql. ¿Interesante verdad? El enlace es: http://www.buayacorp.com/archivos/guardar-una-image [...]
Hola,
primero felicitar al autor del script por el trabajo realizado y de gran utilidad.
Ahora mi consulta, como es que la imagen no puede superar los 64KBytes? Es decir, si subo una imagen con un tamaño superior, esta es recortada.
Gracias de antemano,
Sergio
Claudia, la respuesta la di en el comentario 55.
Sergio, Alejandro lo explica muy bien en este comentario.
Tengo un problemita con el codigo de "verblob.php", sale este error y no se por q es, les ruego q me ayuden ......
ERROR"
Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/site77/fst/var/www/html/CatolicaTV/pages/noticia/verblob.php:5) "
GRACIAS ESTARE MUY AGRADECIDA SI ALGUIEN ME DA UNA MANO!!
Hola, k tal, antes que nada felicitarte y agradecerte el trabajo que cedes al uso de los miles de internautas que no disponemos de los conocimientos necesarios para realizar estas creaciones. te escribo tambien porque tengo un problemilla con el codigo, escribo el nombre, inserto la imagen y cuando le doy a insertar, me sale el error de " pagina no encontrada". Tengo la duda tambien de una vez insertada la imagen en la base de datos, ¿cual es el codigo para recuperarla? he visto el articulo de "mostrar una imagen..., pero veo trozos de codigo que no se componer, ¿podrias ayudarme?
Te dejo el codigo modificado por mi, a ver si hallas el error:
blob.php
Ha este lo llame inicio.html
Imagen a Blob
">
Nombre:
Imagen:
Un saludo!!!
estoy haciendo un proyecto donde necesito guardar una galeria de fotos y guardar sus datos en una base de datos y luego mostrarlas en el navegador con sus datos alguien podria ayudarme estoy trabajando con php , mysql, y dreamweaver
muchisimas gracias
Hola, escribo para avisar a los usuarios de MACROMEDIA DEAMWEAVER que no les funciona el script de ver las imagenes BLOB, a los que les sale la maldita aspa roja en lugar de ver la imagen, tened CUIDADO con el código HTML que añade por defecto Dreamweaver, esa basura hizo que me petara el Script PHP de Braulio, he borrado tooodo el HTML que he dejado el archivo en BLANCO y he copiado SOLO EL CODIGO PHP y funciona de maravilla.
GRACIAS BRAULIO Y ENHORABUENA 😉
Las imagenes las sube perfectas pero las miniaturas no me las crea. Alguien sabe por qué? El caso es q no da ningún error.
El servidor es Linux gestionado desde Plesk.
Un saludo y gracias
Tengo sistema operativo windows xp prof. y trabajo con xampp (www.xampp.org) para hacer y probar mis páginas php. Este script funciona perfectamente sobre el servidor real (cdlbalears.com) pero no hay manera que funcione en modo local para las pruebas. Seguro que es un problema de permisos, pero he probado con define("NAMETHUMB", "c:/windows/temp/thumbtemp");, define("NAMETHUMB", "c:/thumbtemp");, etc., pero en ninguna de estas rutas tengo acceso. ¿Cómo puedo modificar los permisos con xp para este script?
NOTA: He probado con tres ordenadores distintos con xp profesional y xampp, y los tres hacen lo mismo.
Gracias y excelente trabajo con este script!
Ya resolví el problema. Cuando se instala xampp, éste crea una carpeta TEMP en el mismo directorio de xampp (por ej. c:\xampp\temp). He puesto esta ruta como lugar para los archivos temporales, y ha ido bien (por lo visto ahí sí que windows le permite escritura al servidor web de xampp).
Bueno, gracias por todo.
Un saludo.
hola
porfavor necesito ayuda urgente, he tratado incansablemente de arreglar este problema , defini el directorio para guadar los archivos temporales fuera del directorio raiz como dice el articulo en 'c:/windows/temp' y no he podido lograr nada , tambien he tratado de probar con otros directorios a aparte de ese y tampoco resulta, si alguien sabe como arreglar este problema en SO WINDOWS le agradeceria su ayuda
Warning: imagegif(): Unable to open 'c:/windows/temp' for writing in d:\www\fotos\foto.php on line 58
Warning: fopen(c:/windows/temp): failed to open stream: Permission denied in d:\www\fotos\foto.php on line 73
Warning: fread(): supplied argument is not a valid stream resource in d:\www\fotos\foto.php on line 74
Warning: fclose(): supplied argument is not a valid stream resource in d:\www\fotos\foto.php on line 76
Fotos guardadas
hola de nuevo en caso de que no se pudiera arreglar el problema que tengo sobre los permisos de las carpeta , hay alguna forma de modificar el script
para que en ves de que el archivo temporal se guarde en un directorio especificado , se pueda guardar en una variable o algo haci
Javier, en el comentario 82 tenía un problema parecido al tuyo, léelo a ver si te ayuda en algo.
muy muy bueno, felicitaciones, tengo una pregunta
¿el lo mismo poner
if($_POST) o if($_POST["enviar"])
en lugar de
$postback = (isset($_POST["enviar"])) ? true : false;
if($postback) ? gracias
Si quieres resumir yo pondría:
Buenas, soy nuevo en lo que es hacer paginas dinamicas,asi que encontre intenresante este post. Mi pregunta es como puedo poner las imgenes si utilizo el phpmyadmin?
Les agradeceria que me respondieran
El phpmyadmin no tiene nada que ver aquí. El phpmyadmin sólo es una ayuda para administrar tu base de datos mysql mediante web, tú sólo sigue los pasos que expliqué y todo irá bien. Saludos
Saludos Braulio, la unica modificacion que hago es en el formulario
action="" por
Fatal error: Call to undefined function: imagecreatefromgif() in /home/webcindario/vision-digital/thumbs/blob.php on line 38
Saludos Braulio, la unica modificacion que hago es en el formulario
action="" por
action="blob.php", tambien puse mi formulario foto y blob.php en una carpeta,
y mi error es el siguiente:
Si cargo una foto jpg
Fatal error: Call to undefined function: imagecreatefromjpeg() in /home/webcindario/vision-digital/thumbs/blob.php on line 35
Si cargo una foto gif
Fatal error: Call to undefined function: imagecreatefromgif()
in /home/webcindario/vision-digital/thumbs/blob.php on line 38
en el caso del jpg da igual subir una foto jpg o jpeg ? ya que en el codigo esta
"image/jpeg"
y yo subo fotos jpg, solo es una incognita. espero tener respuesta, gracias.
Bto: el error que sale es porque no tienes la librería GD para manipular las imágenes. En el inicio del artículo explico que cosas necesitamos y como podemos instalar esta librería.
Ok, pero dime, yo no tengo el php en mi computadora, lo unico que yo hago es copiar los codigos y cargarlos en mi servidor miarro.com y desde ahir ver como se ejecuta los codigos(php,html,etc) en mi web, podrias ayudar en este caso.
hasta ahora, he hecho conexion a mi BD mysql, ingresar registros a mi tabla y hacer busqueda, ahora me gustaria guardar fotos a mi tabla, eh ir armando un pequeño sistema, y como te digo solo creo los codigos y lo cargo a mi web, que soporta obviamente codigo php. Saludos Braulio.
Debido a que miarroba es un servicio gratuito no soporta la extensión GD para la manipulación de imágenes, las fotos originales puedes guardaras fácilmente en tu base de datos, pero lo que no se puedes es crear miniaturas y guardarlas.
Si deseas sólo guardar las fotos originales, borra la parte del script desde donde dice:
// Creando el thumbnail
hasta
# contenido de la foto original
Y también desde:
# contenido del thumbnail
hasta
// Borra archivos temporales si es que existen
Y tu tabla ya no debería tener el campo thumb, porque este ya no existe. Si tienes mas dudas contáctame.
esta bueno el escripot pero al momento de subir me a parece un error
Forbidden
You don't have permission to access /subirar/
necesitari aque me dijeras si tengo que cambiar el permiso de las carpetas y como lo hago si estoy en windows...
es para mi galeria de imagenes..
gracias
Braulio, quise contactarme contigo desde donde dice contacto, pero al enviar la informacion, salio error, asi que me vi en la necesidad de hacerlo por este medio. Creo que es porque envio mucho texto, asi que lo hare en dos partes.
Hice las modificaciones del caso, pero me sigue arrojando error, este es el script que tengo:
No puedo enviarte toda la informacion, asi que solo te dire el error que me vota.
Warning: fopen(): open_basedir restriction in effect. File(/tmp/phpXusuEk) is not within the allowed path(s): (/home/webcindario/vision-digital) in /home/webcindario/vision-digital/thumbs/blob.php on line 32
Warning: fopen(/tmp/phpXusuEk): failed to open stream: Operation not permitted in /home/webcindario/vision-digital/thumbs/blob.php on line 32
Warning: filesize(): open_basedir restriction in effect. File(/tmp/phpXusuEk) is not within the allowed path(s): (/home/webcindario/vision-digital) in /home/webcindario/vision-digital/thumbs/blob.php on line 33
Warning: fread(): supplied argument is not a valid stream resource in /home/webcindario/vision-digital/thumbs/blob.php on line 33
Warning: fclose(): supplied argument is not a valid stream resource in /home/webcindario/vision-digital/thumbs/blob.php on line 35
Column count doesn't match value count at row 1
Gracias por seguir de cerca mi caso, espero porfavor me puedas ayudar, recuerda que solo quiero guardar fotos a mi tabla, saludos Braulio
el error es de tipo 1064
debes conocerlo bien si sabes m,ucho de MySQL, ademas me indique que revise el manual de syntrax y ademas me sale el siguiente error [foto blob not null]
Bto, cuando open_basedir está activo se restringe el uso de las funciones que manipulan archivos, esto es porque webcindario es una comunidad y tienen que tener seguridad para todos sus usuarios. Supongo que tendrás que cambiarte de hosting.
Bueno supongo que ezo debe zer ^^ no?, puedez recomendarme un hosting gratis en donde pueda uzar todoz loz recurzoz del php con base de datos, gracias por todo.
Pues existen muchos servicios gratuitos, pruebalos cuales te convienen. :p
En definitiva, puedo insertar o guardar registros a mi tabla pero no puedo guardar fotos a mi tabla?, estas zeguro.
Excelente codigo, en geberal todo esta muy bien. En internet se consigue mucho codigo basura y que no sirve o tiene problemas de sintaxis pero este me funciono a la primera prueba que realice. Muchas gracias.
son unos idotas, como se ponen a preguntar si no saben, como crear tablas, de verdad se maman.
hola esta muy bien el codigo yo estoy batallando porq tengo una base de datos pero en mysql use phpmyadmin para crearla pero ahora quiero ingresar una foto y no se como acerle alguien sabe me urge
hola amigos, me ha ayudado mucho este script, todo esta cojonudo, pero la cosa es que al grabar y revisarlo en mysql no me guarda en el campo thumb solo la foto normall, a que se debe, no me muestra error alguno.
Anotacion: Estoy trabajando con el Apache, y en windows xp. como os dije no me da error alguno. he cambiado las carpetas de los temporales y sigo con lo mismo.
Ya he solucionado el problema: en el caso de windows
define("NAMETHUMB", "c:/tmp/thumbtemp")
ya que por defecto era c:/windows/temp y no existia la carpeta
Gracias por todo.
Veo que algunos se estan volviendo locos con este problema de permisos ejemplo y en realidad lo que estais haciendo mal es que estais definiendo la ruta con una carpta que ya existe y por eso os da problemas de escritura.
Como bien dice el error
Warning: imagegif(): Unable to open 'c:/windows/temp' for writing in d:\www\fotos\foto.php on line 58 esta claro que no puedes escribir una carpeta que ya existe y es tan importante como esa.
Solución:
define("NAMETHUMB", "c:/windows/temp/thumbtemp");
y asegurate de que no exista ningun carpeta en c:/windows/temp que se llame thumbtemp porq te dara el mismo problema.
P.D. Quizas llegue muy tarde
Gracias por tu apoyo David 🙂
Simplemente: felicidades !!!! Es de agradecer el trabajo que has realizado y también a los foreros que con sus preguntas y dudas acaban de hacerlo más comprensible.
De nuevo: MUY BUEN TRABAJO.
Me gustaría poder aplicarlo en mi página personal y solicito si me puedes decir si es necesario que en el script te haga referencia o lo dispones como freeware. Por favor, respóndeme a mi cuenta de correo porque no sé si volveré a pasarme por aquí.
De nuevo: gracias!. Cuanta mente genial corretea por ahí ...
eoitos, todos los artículos, scripts o anotaciones que hacemos están con licencia Creative Commons: Common Deed. Gracias por tu apoyo.
Hola Braulio, te felicito muy buen articulo, estuve corriendo buscando y probando varios código y ninguno funciona tan genial como este, gracias por colaborar con las personas que estamos aprendiendo cosas nuevas... Me funciono al primer intento.
También use el script para mostrar la imagen... voy a invorporalo a la aplicación que estoy haciendo si tengo algún problema, te puedo preguntar???
Tengo un problema cuando coloco
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
$img = imagecreatefromjpeg($tmp_name);
break;
case $mimetypes[2]:
$img = imagecreatefromgif($tmp_name);
break;
case $mimetypes[3]:
$img = imagecreatefrompng($tmp_name);
break;
} siempre me aparece error, aunque ya e guardado imagenes en mysql, pero necesito realmenet identificar el tipo, si alguiene me puede ayudar se lo agradeceria por favor?
Cuál es el error que te aparece?
Hola Braulio, necesito tu ayuda urgente.
Estuve utilizando tu codigo, el cual me parecio muy bueno, y lo probe en el localhost de mi pc y funciono muy bien, pero cuando publico mi pagina en Internet me salen los siguiente errores:
Warning: imagejpeg(): Unable to open 'c:/WINDOWS/Temp/thumbtemp' for writing in /home/content/j/a/a/jaazz4/html/blob.php on line 66
Warning: fopen(c:/WINDOWS/Temp/thumbtemp): failed to open stream: No such file or directory in /home/content/j/a/a/jaazz4/html/blob.php on line 82
Warning: filesize(): Stat failed for c:/WINDOWS/Temp/thumbtemp (errno=2 - No such file or directory) in /home/content/j/a/a/jaazz4/html/blob.php on line 83
Warning: fread(): supplied argument is not a valid stream resource in /home/content/j/a/a/jaazz4/html/blob.php on line 83
Warning: fclose(): supplied argument is not a valid stream resource in /home/content/j/a/a/jaazz4/html/blob.php on line 85
Fotos guardadas
Ademas a la hora de mostrar las imagenes me sucede lo mismo, es decir solo funciona en el localhost pero no se muestra ninguna imagen cuando trabajo en el servidor real de mi pagina web.
Please respondeme
Estimada Luisa, el sistema de archivos de tu computadora es diferente a la de tu servidor, para que funcione correctamente en este último, verifica que NAMETHUMB tenga el siguiente valor:
define("NAMETHUMB", "/tmp/thumbtemp");
Saludos
Estimado Alex, muchas gracias por tu ayuda.
Logre solucionar el problema al momento de guardar los thumbs, pero igual sigo sin poder mostrar las imagenes.
Te agradeceria mucho si me ayudaras.
Saludos
Hola muy bueno el codigo y la explicacion. Tengo un solo inconveniente, cuando guardo imagenes grandes, al verlas aparecen cortadas, no se si lo que esta generando este error es la capacidad de almacenamiento del campo blob u otro motivo. Te agradeceria una respuesta. Muchas Gracias
Esta muy bueno todo esto de gurdar la foro en my sql, pero tengo una pregunta alguien sabe como cambiar la interfaz de html por una en flash 8 si la tienen me la podrian facilitar.............
Gracias
Donde puedo descargar PostgreSQL ..... por que la mayoria de las paginas o cobran o dan errores ...........les a gradeceria.............
Abrahan, tienes varios mirrors de donde descargar, no te pongo enlaces porque no sé si necesitas los binarios o el código...
Saludos
No se complique la vida muchos de los erros que da el script es porque "NAMETHUMB" en algunos casos aparece sin las comillas es decir de esta manera NAMETHUMB, la solucion es agregarlas
Ayuda porfa, que significa este error:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'C:/tmp/thumbtemp' for writing in C:\MiServer\WEB\prueba_php\blob.php on line 60
Warning: fopen(C:/tmp/thumbtemp) [function.fopen]: failed to open stream: Permission denied in C:\MiServer\WEB\prueba_php\blob.php on line 76
Warning: fread(): supplied argument is not a valid stream resource in C:\MiServer\WEB\prueba_php\blob.php on line 77
Warning: fclose(): supplied argument is not a valid stream resource in C:\MiServer\WEB\prueba_php\blob.php on line 79
Fotos guardadas
The foro dead
Todo es casi perfecto, puedo guardar imagenes y puedo visualizarlas, mi problema es que cuando muestro la imagen de mi base de datos y quiero mostrar los demas campos de mi tabla simple y sencillamente no se visualizan, solo se visualiza la imagen y nada más.
¿QUE PUEDO HACER? para mostrar lod demás datos ademas de la imagen en la misma página
Hola braulio me manda este error y tengo activada la libreria que mencionaste
atal error: Call to undefined function imagecreatefromjpeg() in C:\wamp\www\imagenes\subir.php on line 35
prodrias alludarme. gracias
Este scrip, funciona de maravilla, Muchas Gracias. !
Hola me da gusto que por fin un script me ingrese imagenes y datos......Solo que en el borwser me marca muchos errores......como estos:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/tmp/thumbtemp' for writing in C:\Program Files\xampp\htdocs\hemsa\fotos\blob.php on line 52
Warning: fopen(/tmp/thumbtemp) [function.fopen]: failed to open stream: No such file or directory in C:\Program Files\xampp\htdocs\hemsa\fotos\blob.php on line 68
Warning: filesize() [function.filesize]: stat failed for /tmp/thumbtemp in C:\Program Files\xampp\htdocs\hemsa\fotos\blob.php on line 69
Warning: fread(): supplied argument is not a valid stream resource in C:\Program Files\xampp\htdocs\hemsa\fotos\blob.php on line 69
Warning: fclose(): supplied argument is not a valid stream resource in C:\Program Files\xampp\htdocs\hemsa\fotos\blob.php on line 71
Fotos guardadas
Me gustaria que alguien me compartiera un poquito de sus conocimientos para la solución de estos problemas.....De antemano le agradezco su ayuda...Saludos....bye
Janeth, revisa el comentario #120
Hola ya corregi los errores que me marcaban....pero me gustaria que en la misma pagina se mostraran las imagenes en una tabla o algo asi...es para un proyecto que tengo de galeria de imagenes.....¿se puede hacer esto? de antemano gracias por tu ayuda bye
Para hacer eso necesitas de 2 páginas, una que muestre sólo una imagen (a.php) y otra que se encargue de mostrar el listado de imágenes, que haga referencia a la página a.php a través del tag
img
Saludos
Hola soy nuevo en esto de MySQL, perdon si pregunto algo obvio.
Como se tiene que llamar la base, y que campos debe tener con que nombres para que funcione el script. Muchas gracias
Bueno, aunque mi script está bastante modificado en cuanto al uso de la base de datos y la forma en que son llamados, tiene como base los que se presentan en esta página, implementando el uso de un buffer de memoria, ya que el servidor web no permitía la escritura de un archivo temporal, y en vista de que la política de permisos de escritura no cambiaría, use este recurso.
Esto resolvería los problemas de aquellos similares a estos warnings/errores:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/tmp/thumbtemp' for writing in C:\x on line YY
Warning: fopen(C:/tmp/thumbtemp) [function.fopen]: failed to open stream: Permission denied in C:\x on line ZZ
que a fin de cuentas significan que no pueden abrir el directorio temporal, ni crear un archivo temporal en el mismo.
bueno, les dejo los dos links, por si alguien desea adaptarlo al script que hay en esta página, son únicamente 3 o 4 líneas extras, y algunos // para comentar.
http://mx.geocities.com/alvinheregod/galeriaAgregarINC.php
http://mx.geocities.com/alvinheregod/tempthumb.php
se puede poner como comentario el include del tempthumb por si no se quiere crear el thumbnail.
saludos.
excelente tu codigo, me funciona a la perfeccion, realmente te felicito.....
pero tengo una duda, como puedo redimencionar la imagen original y tambien hacer el thumb, necesito establecer las dimenciones de la imagen original para que no me desforme la pagina cuando suban las fotos los usuarios, y a la vez crear el thumb para ponerlos en una galeria... te agradeceria que me ayudaras ya que soy nuevo en esto y estuve haciendo varias pruebas con tu codigo, pero no resulto....
saludos y gracias
Me tira un Error en lo siguiente:
Data too long for column 'foto' at row 1
que puede ser:::
Cambia el tipo de la foto de blob a longblob.
Profa, es urgente,
después de leer una foto en PHP me sale esto:
Warning: imagegif(): Supplied argument is not a valid resource
No se porque pues bajé un ejemplo y todoest`´a igual, leo un .Gif, lo proceso y ya. Ojalá alguién me pueda ayudar..
Verifica si realmente terminó de subir la foto antes de que se ejecute la función imagegif.
Antes que nada gracias por el codigo, esta muy bien, pero tengo un problema, todo me funciona bien, me inserta ambas imagenes en la db y todo el rollo, pero lo unico que veo que no me funciona es que en la creacion del thumbail me arroja la imagen reducida por el navegador y nunca me muestra la frase "fotos guardadas", que puede ser.
Saludos, Sebastian.
hola a todos y en especial a quie fomento todo esto, estoy que trato de hacer una pagina donde incerte una imagen cualquiera de donde sea y quien sea, pues encontre esta que me esta ayudando, muy buen articulo, ahora estoy en mi trabajo pues no tengo mi script en el que me muestra el error, lastimosamente no tengo internet en mi casa y aqui en el trabajo pues no puedo. solamente escribia para saludar
Hola , he utilizaod el codigo y me funciono muy bien para guardar las imagenes en la BD mysql, pero ahora tengo el problema de mostrar; en realidad quiero mostrar todas las imagenes de la BD a la vez,pero cunado trato de modificar el codigo que, muestran en esta página, solo me imprime la primera imagen, y no las demas, alguna sugerencia por favor..
Saludos a Mare....TQM!!!!
Sebastian, lee los comentarios anteriores por favor.
Hola, sigo teniendo problemas con el script, el error que me da es el siguiente:
Warning: fopen(c:/windows/temp/thumbtemp): failed to open stream: Permission denied.
Estoy probando todo local, pero no logro dar con la tecla, sin embargo esa carpeta existe, que puede estar pasando?
Gracias de antemano.
Sebastian M
Que el usuario bajo el que se ejecuta el servidor web no tiene permisos para escribir en
c:/windows/temp/thumbtemp
UN SALUDO
PROBE EL SCRIPT Y DE MANERA LOCAL SI FUNCIONA EL PROBLEMA ES CUANDO LO CORRO EN EL SERVIDOR REMOTO, PONGO LOS ERRORES QUE ME MARCA:
Warning: imagejpeg() [function.imagejpeg]: Unable to open 'c:/windows/temp/thumbtemp' for writing in /home/compraza/public_html/admin/noticias.php on line 110
Warning: fopen(c:/windows/temp/thumbtemp) [function.fopen]: failed to open stream: No such file or directory in /home/compraza/public_html/admin/noticias.php on line 126
Warning: filesize() [function.filesize]: Stat failed for c:/windows/temp/thumbtemp (errno=2 - No such file or directory) in /home/compraza/public_html/admin/noticias.php on line 127
Warning: fread(): supplied argument is not a valid stream resource in /home/compraza/public_html/admin/noticias.php on line 127
Warning: fclose(): supplied argument is not a valid stream resource in /home/compraza/public_html/admin/noticias.php on line 129
Access denied for user: 'compraza_demo@localhost' to database 'demo'
POR FAVOR SI ME PUDIERAN AYUDAR, EL CODIGO ESTA TAL Y COMO LO MUESTRAN, SOLO CLARO CAMBIANDO EL NOMBRE DE LA BASE DE DATOS
DE ANTEMANO MUCHAS GRACIAS
a mi me funciona muy bien bueno al menos al insertar pero no se como visualizarlas, me podrias ayudar ???
Hola Braulio tu Script esta muy bien hecho..
mi problema es que quiero actualizar pero no me hace nada podrias ayudarme
HOLA, bueno se ve interesant el ejemplo que detallas, lo probe pero no me sale :(, me sale el siguiente error
Fatal error: Call to undefined function imagecreatefromjpeg() in C:\wamp\www\subirimgBD\blob.php on line 35
que no existe tal funcion, si pudieras ayudarme a resolver ese proglema plz, desde ya muchas gracias
asi omita esa funcion me sale nuevamente otro error con una funcion que se encuentra mas abajo
en pocas palabras no me acepta esas funciones q hicist en tu script
los pasos que indicast con el php.ini y el archivo los hice, pero no creo q eso sea el problema, spero puedas ayudarme
Erik, reiniciaste apache luego de habilitar el módulo GD?
sii lo hice, reinici el apache una vez q habilite tal modulo pero me sigue saliendo el mismo error. uhmm a q se debera, no me acepta tales funciones :s
spero puedas encontrarle alguna solucion.GRACIAS
Asegurate de que la versión de esa librería (GD) tenga el soporte para jpg, puedes verlo a través de phpinfo.
hola nuevamente, disculpa que t molesta tanto :$ mira estuve revisando mi phpinfo y no me aparece la tabla de la libreria grafica, agregue el archivo php_gd2.dll, del cual lo descargue de tu web, tbm agregue el nomnre en php.ini, reinicie el apache pero = no me sale la tabla de la libreria grafica, no entiendo porque, supuestament deberia salirme pero nada
a ver si me pudieras ayudar con esto plz
quizas sea porque utilizo el php 5.2, el mysql 5, el apache 2.0, ahh y todo esto me vino en un paquete que se llama el wamp 5, quizas sea ese el problema???
Vaya, me he confundido y he pegado mi post en el articulo equivocado, vuelvo a postearlo aquí, a ver si alguien sabe darme una solución.
-----------------------------------------------------------
Muy bueno tú código. El caso es que tengo un problema, el server tiene activado el SAFE_MODE con lo cual no puedo ejecutar algunas funciones como fopen(); fread(); fclose()... Me preguntaba si sabrías alguna forma de solucionarlo ya que así, guarda la imagen, pero no puede crear el thumb. Te pasteo la salida por si te sirve de algo.
Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 10067 is not allowed to access /tmp/thumbtemp owned by uid 48 in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 68
Warning: fopen(/tmp/thumbtemp): failed to open stream: Success in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 68
Warning: filesize(): SAFE MODE Restriction in effect. The script whose uid is 10067 is not allowed to access /tmp/thumbtemp owned by uid 48 in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 69
Warning: fread(): supplied argument is not a valid stream resource in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 69
Warning: fclose(): supplied argument is not a valid stream resource in /home/httpd/vhosts/asordes.org/httpdocs/probas/blob.php on line 71
Fotos guardadas
Tal vez exista alguna forma de forzar a que se ejecuten estas funciones, o alguna otra forma de crear el thumbnail.
Gracias!!
------------------------------------------------------------
Se me acaba de ocurrir que ya que el problema está en los thumbs, lo que podría hacer sería crear los thumbs para mostrar la galería a partir de campo blob de la BD.
Sería factible?
Gracias de nuevo!
disculpa pero tu script me da el siguiente problema:
Se ha guardado el Archivo en la base de Datos
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/home/paradoxl/public_html/uploads' for writing in /home/paradoxl/public_html/administrador/subir_produc.php on line 102
Fotos guardadas
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/home/paradoxl/public_html/uploads' for writing in /home/paradoxl/public_html/administrador/subir_produc.php on line 166
Fotos guardadas
EL DIRECTORIO TIENE PERMISOS 777 Y NO SUBE, AYUDAME POR FAVOR DE VERDAD LO NECESITO URGENTEMENTE...
Quan, no he probado lo que te voy a decir, pero si usas un directorio en el que no se aplique las restricciones safe_mode (ej. /home/httpd/vhosts/asordes.org/httpdocs/probas/thumb/), talvez evites el problema que describes.
Luis, si no hiciste ninguna modificación al script y en verdad tiene los permisos que dices, talvez sea porque tu servidor tiene SELinux activado
Hola amigo,
muy interesante tu articulo, es lo k andava buscando, pero me puedes orientar k va dentro de cada archivo y los nombres k les diste, osea como distibuyes el codigo k ofreces en la pagina, de antemano gracias
tengo un servidor de mysql con miles de imagenes tipo blob, quiero cargarlas en un formulario de .net, pero no puedo ya sea con c# o vb .net, si por favor alguien me puede ayudar....
hola a todos, como puedo agregar mas datos para subir??
hola, bueno yo escribo porque tengo un problemita con este scrip, me sale un error de "Call to undefined function: imagecreatefromjpeg()" de verdad que no tengo idea porque me sale esto, yo tengo instalado el php_gd2.dll y esta activo y todo, pero me sale este error, por favor si alguien me puede ayudar, se lo suplico es urgente, gracias.
hola, gracias por la respuesta, pero realmente no entendi mucho que digamos, en que parte se colocan esas etiquetas, si me puedes responder te lo agradeceria muchisimo.
Hola, he leido las respuestas, incluso las más antiguas. A mi me guarda la imagen grande, pero no me guarda el thumb y tengo puesto:
define("NAMETHUMB", "/tmp/thumbtemp");
¿Qué puedo hacer?
también he probado con:
define("NAMETHUMB", "c:/windows/temp/thumbtemp");
y tampoco me funciona.
Lo curioso es que subo la página a un servidor gratuito y si funciona. en la base de datos esa si guarda el thumb.
Alguna idea?
No me da ningún error. solo deja en blanco el thumb.
Gracias!.
ok, eso mismo ya lo he podido solucionar yo :D, gracias a dios y despues de muchas vueltas resultaba que tenia el define con una letrita mal jejejeje, tonteria de las grandes.
Ahora mi problema es otro.
Quiero mostrar las miniaturas una al lado de la otra, para que luego al pinchar en ella se muestre la grande. El caso es que solo me muestra 1 foto. Pongo lo que tengo escrito, a ver si podeis echarme una manilla 😀
while ($i
{
$idfoto = $i;
$tam = 1;
switch($tam)
{
case "1":
$campo = "foto";break;;
case "2":
$campo = "thumb";break;;
default:
$campo = "foto";break;;
}
$sql = "SELECT $campo, mime FROM ImgFinal WHERE idfoto = $idfoto";
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$conn = mysql_query($sql, $link) or die(mysql_error($link));
$datos = mysql_fetch_array($conn);
$imagen = $datos[0];
$mime = $datos[1];
header("Content-Type: $mime", FALSE);
echo $imagen;
$i++;
}
a ver si ahora si me sale el código, perdón, estoy algo espesito hoy 😀
En el while sé que falta el símbolo de menor, pero es que si lo pongo no me deja postear el código.
como siempre me autorespondo 😀 gracias de todas formas, por si le vale a alguien mi solución es crear un php que haga lo siguiente:
mire cuantas fotos hay en la bd
y repita esta instrucción tantas veces como fotos haya en la bd:
echo "";
Donde MostrarFotosAlbum es el php que tiene el script ese que he puesto arriba, id_foto es el id de la foto que quiero mostrar y tam_foto es para que me muestre la foto normal o el thumb.
Si alguien necesita algo más que lo ponga por aquí 😉
Ahh, en el script de arriba he modificado que recojo por GET las variables que le envio en la etiqueta IMG
Hola a todos, y gracias por este articulo, pero me asalta una duda, como puedo hacer que se agregue la fecha de subida de la foto automaticamente.........
desde ya, muchas gracias
hola, como hago para colocar una imagen en insertar comentarios
hola, por favor es que soy novato en esto, quiero algo mas claro,de como insertar una imagen en una celda.
Hola,Necesito ayuda. Como hago para descargar un archivo con PHP y BD MySQL.
La conexion a la BD funciona bien y este es el resto del codido:
$query="SELECT * FROM curriculum WHERE idpostulante='$idpostulante'";
$res=mysql_query($query);
$tipo = mysql_result($res,0,'tipo');
$contenido = mysql_result($res,0,'contenido');
header('Content-type: $tipo');
print $contenido;
Y no funcionaa!! MIL GRACIAS
Hola, tenia un problema pero ya lo solucione,
El tema es que tenia este código en un servidor Linux y me estoy cambiando a uno Windows,
entonces cambiaba esto
define("NAMETHUMB", "/tmp/thumbtemp");
Por esto
define("NAMETHUMB", "c:/windows/temp/thumbtemp");
y no andaba ni pa atrás!!!
Entonces no se por que se me ocurrió cambiar
"c:/windows/temp/thumbtemp"
por
"E:/windows/temp/thumbtemp"
y empezó a funcionar perfecto!!!!
Espero que a alguien le sirva!
Saludos!!!
tengo una duda ....si quiero poner tu codigo en mi pagina ..
como tengo que hacerte referencia a ti ?? cual es la forma que mejor es para usted ??
por favor responder esta pregunta...
he luchado tanto con este codigo XD pero alfin funciono ...
nos vemos
y suerte
hhhhhhooooooolllllllllllllllllaaaaaaaaaaaaaa
hola atodos soy la ijade jhgdhhfzm
Hola quisiera saber si existe la posibilidad de que puedar haber conflictos con la libreria gd. Ya que luego de instalarla en mi servidor tengo problemas con la funcion readfile para descargar archivos desde la web. Alguien tiene idea de que pueda ser?
porque me sale esto:
Fatal error: Call to undefined function: imagecreatefromjpeg() in \www\cas\prueba.php on line 35
que inchas
Hola a todos:
os cuento lo que quiero hacer y a ver si me podeis echar una mano.
En una de mis páginas web le doy la posibilidad al usuario de añadir fotos.
Tengo un input file y el valor que recojo en este lo envio por get a un iframe.
En este iframe recogo por get lo elegido en el input file(ruta+nombre del archivo - ruta local del usuario)y lo valido(veo tamaño,formato y lo redimensiono para que lo previsualize antes de insertarlo en la bd).
Si la foto cumple los requisitos de tamaño(inferior a x bytes) y formato las voy guardando en sesion y despues cuando el usuario está conforme ingreso una nueva ruta de la imagen en bd y copio la imagen a una carpeta del servidor.
¿Cúal es el problema?
Todo me funciona correctamente localmente(windows) pero cuando lo subo al servidor(linux) no me funciona.
He detectado que filesize no me funciona, no me devuelve tamaño.Tampoco me funciona getimagesize(lo utilizo para redimensionar la imagen a la hora de previsualizarla)
Este es mi codigo, comienzo por filezise:
$ruta_imagen-->ruta del usuario recogida por get
$barra=stripslashes($ruta_imagen);
$tamano=filesize($barra);
echo $tamano;--> lo devuelve vacio...
y me devuelve este error:
warning: filesize(). Stat faile for...ruta de la imagen....(errno=2 - No such file or directory)
¿Como puedo solucionar esto?
Gracias, un saludo
hola a todos/as,
localizé el error y era porque en filesize() buscaba la ruta+archivo elegido en el input file en el servidor, y claro esa ruta+archivo no existe en el servidor puesto que es la ruta que elige localmente el usuario en el input file...
al final lo solucione enviando el input file por post en lugar de get...bueno un lio...
gracias, un saludo
cabrso este es mi drama y de verdad que ni idea ayudenme porfa y salvenme el pellejo
Column count doesn't match value count at row 1
muy buen tutorial, es lo que andaba buscando, solo una pregunta, cuando quiero extraer la imagen de la BD para verla en la pagina, como lo hago?? es una simple consulta select??
Orale, lo voy a probar lo k pasa necesito k los usuarios de mi sitio pongan una foto suya. Gracias
Hola tengo un problema estoy guardando pdf y doc en mysql pero cuando los extraigo el doc forza la descarga pero el pdf lo abre y no quiero que se abra quiero q me aparezca si lo quiero guardar y es desde la base de datos que se encuentra no en directorios ni nada
Tengo una pregunta. El script guarda en la DB algunos datos, pero cuando quiero imprimir la imagen me aparece solo una parte de la misma y no la imagen entera, que puede ser???
Desde ya muchas gracias.
Buena genios, me hacen acordar alos tres chiflados jijiji...
Bueno, hasta ahora no se xq no aparecen los thumbnails en c:/windows/temp/thumbtemp, he recontraborrado y copiado y tambien he puesto una ruta en D, porqu uso xampp, pero nada, si tienen la clave pasenla, y finalmente sinceramente muchas gracias, por compartir su genialidad conmigo, un abrazo, Alberto
hola si alguien me puede ayudar a crear una funcion que me permita realizar consulta auna base de datos Mysql desde un formulario en php
Hola Braulio!! Muy Inteligente, gracias por compartir tu codigo...
Hola estoy construyendo una aplicacación educativa en ASP .Net, mi problema radica en que necesito guardar imagenes en la base de datos para despues mostrarlas en una especie de formulario; he intentado mil formas y nada.
Auxilio!!
gracias muy bueno, intentare el paso 2 para recuperar las imagenes
Alguien q me ayude, si sube la img, pero el thumb nop, no lo guarda y no se porque ...
Al usar los codigos me sale este error...
Fatal error: Call to undefined function imagecreatefromjpeg() in C:\wamp\www\HIPER\blob.php on line 40
Cómo puedo saber la ruta de acceso a la carpeta de archivos temporales del servidor donde tengo alojada la página.Por cierto, es un servidor Linux.
Fatal error: Call to undefined function imagecreatefromgif() in C:\wamp\www\test\blop.php on line 39
tengo ese error de funcion ahora que cambie los permisos los vi si cambia vastante , sin embargo al buscar el temporal no lo encuentra y ovio y sale el error , alguna forma de solucion , para despues seguir con el siguente paso ..
o mandanos algo hecho verlo analizalo , lo otro cuando llamo
a
localhost/test/blop.php en firefox me sale como desea guardar .....
msn zeroyevi@hotmail.com
Muchas gracias por el aporte estaba buscando lograr esto muchas gracias
Salu2 a to2 antes ke nada grax por el skript pero tengo un problema, en imagenes pekeñas me funciona perfekto, la kosa es si kiero wardar una imagen eskaneada (en este kaso una imagen tamaño oficio) me manda el siguiente error
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 5100 bytes) in C:\AppServ\www\Digitaliza\PruebaGuarda.php on line 35
y le kambie a longblob la foto pero aun asi me sigue markando lo mismo
Braulio: Auxiliooooooo !!!! plase...!!!
Primero que nada un millon de gracias por lo que publicaste creo que somos mucha gente interesada en el tema, pero resulta que yo tengo un problema con el programa y te confieso que estoy en mis primeros pasos de aprendizaje, por favor indicame que pasa con este mensaje que me sale:
Archivo no encontrado
Firefox no puede encontrar el archivo en C:/Documents and Settings/Skynet/Escritorio/SiteId/ ?PHP echo $_SERVER[PHP_SELF];?>. "
* Compruebe que ha escrito correctamente las mayúsculas en el nombre del archivo.
* Compruebe que el fichero no haya sido movido, renombrado o eliminado.
Te agradeceria mucho tu valiosa ayuda. wow soy el post Num. 200
Una pregunta mas..... jejejeje y si quiero guardar hasta 4 o 5 imagenes en el mismo registro? ¿como le hago?
GRACIAS.
Hola, me pueden ayudar ya que realize el script paso a paso pero en el momento de guardar la imagen me sale este error ayuda
Fatal error: Call to undefined function imagecreatefromjpeg() in c:\wamp\www\cargar_imagen\index.php on line 35
soy muy novato en php,,, y n se como solucionar este problemilla. ustedes me pueden enviar el script que este funcionando y yo lo comparo con el mio. para sacar el error.. gracias
Bueno, primeramente mis felicitaciones por el script publicado, me aprece excelente para la publicacion de imagenes. Ya lo probe y funciona bien, almacena los datos en la tabla, sin embargo, no me esta guardando las imagenes "thumb" dentro de la base de datos, cuando hago el "SELECT thumb FROM tabla"; no me muestra nada, muestra que hay una fila guardada, pero la casilla esta en blanco.Les agradeceria mucho si me puedes ayudar a encontrar el problema. De antemano, muchas gracias por la ayuda.
e-mail: dpernia@ula.ve
Hola, antetodo te doy las gracias, porque tu ejemplo me ha ayudado un mucho! Gracias a tu ejmplo podre dormir esta noche, jejeje!
Saludos
pero una pregunta..te pareceria optimo manejar el mime type a nivel de php en vez de bd? cual seria la ventaja de manejarlo en el servidor de la aplicacion?
porque al subir una imagen solo me permite almacenar 64 kb si es mayor a ese peso, dejandome una imagen cortada???
modifique el codigo a diferencia de este no copia las imagenes en la carpeta solo en la base de datos .
si muestra la imagen miniatura y la original.
solo modifiquen la conexion el query la base de datos etc.
Muchas gracias por compartir estos conocimientos, lo adapté a mis necesidades y funcionó sin ningún problema.
AYUDAAAAAAA, como puedo almacenar una imagen tipo .tiff?
que tal buen día, saludos!
no creo que sirva de mucho enviar este comentario porque como muchos, tengo el error de que cuando hago las pruebas con mi servidor linux, simplemente no me deja guardar ningun archivo, intenté con el directorio /tmp/ y aun así no me ha dejado. encontre por ahi el comentario de un tal Alvin pero el link que dejó no funciona, alguien preguntó sobre crear la miniatura a partir de la imagen en mysql.
en fin, alguna sugerencia?
yo no pido queme solucionen todo pero que me den aunque sea alguna pista, gracias nuevamente
alguien soluciono el tema del directori de trabajo pero en linux...yo sigo teniendo problema con el guardado no reconoce el directorio
Warning: imagejpeg() [function.imagejpeg]: Unable to open '“/home/gi000347/public_html/ElEstudioFoto/tmp/' for writing in /home/gi000347/public_html/ElEstudioFoto/Alta2.php on line 58
Warning: fopen(“/home/gi000347/public_html/ElEstudioFoto/tmp/) [function.fopen]: failed to open stream: No such file or directory in /home/gi000347/public_html/ElEstudioFoto/Alta2.php on line 74
Warning: filesize() [function.filesize]: Stat failed for “/home/gi000347/public_html/ElEstudioFoto/tmp/ (errno=2 - No such file or directory) in /home/gi000347/public_html/ElEstudioFoto/Alta2.php on line 75
Warning: fread(): supplied argument is not a valid stream resource in /home/gi000347/public_html/ElEstudioFoto/Alta2.php on line 75
Warning: fclose(): supplied argument is not a valid stream resource in /home/gi000347/public_html/ElEstudioFoto/Alta2.php on line 77
ya he cambiado con tmp y todas las artmiñas anteriores
Para los que les pueda servir y trabajen en windows XP o vista:
También tenía el problema de los permisos a la hora de crear la imagen. Trabajo con windows y xampp. El script me funcionaba perfectamente en un servidor linux tal como está, pero no en windows. Siempre me aparecía el dichoso "Unable to open ... for writing in ..." y no subía la imagen. Así que cambié un poco el script y lo puse de la siguiente manera:
...
$urltmp="C:/xampp/tmp/";
switch($type) {
case $mimetypes[0]:
case $mimetypes[1]:
$img = imagecreatefromjpeg($tmp_name);
$urltmp=$urltmp."imatge.jpg";
break;
case $mimetypes[2]:
$img = imagecreatefromgif($tmp_name);
$urltmp=$urltmp."imatge.gif";
break;
case $mimetypes[3]:
$img = imagecreatefrompng($tmp_name);
$urltmp=$urltmp."imatge.png";
break;
}
define("NAMETHUMB", $urltmp); //y te olvidas de los problemas de permisos
...
todo lo demás igual. De esta manera crea en el directorio "C:\xampp\tmp" un fichero llamado imatge.xxx el cual puede manipular (leer/escribir/borrar). De esta manera me ha funcionado bien.
Previamente hay que darle permisos de escritura a esta carpeta, es decir, botón derecho sobre ella, propiedades, seguridad, editar y elegir el usuario TODOS (si no está hay que añadirlo) y darle control total.
Espero que este comentario pueda aportar algo.
PARA LOS PARCEROS QUE TIENE ESTE PROBLEMA
Fatal error: Call to undefined function: imagecreatefromjpeg() in /home/webcindario/vision-digital/thumbs/blob.php on line 35
LO QUE DEBEN HACER ES REINSTALAR EL SISTEMA DE SU SERVIDOR POR UNO MAS ACTUALIZADO SI ES POSIBLE DEBIDO A QUE PROBABLEMENTE ESTE CORRUPTA ALGUNA DIRECCION CON RESPECTO AL COMANDO DE LA EXTENSION GD2.
YO USO WAMP Y LO QUE HICE FUE REINSTALARLO Y YA!!! SOLUCIONADO
En mi pc funciona muy bien pero cuando lo elevo a mi servidor web( en linux) La imagen se guarda en la base de datos pero me sale el siguiente mensaje:
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/home/midominio/public_html/temp/thumbtemp' for writing: Is a directory in /home/midominio/public_html/blob.php on line 65
Fotos guardadas
Cofirme:
Los datos se guardan en la base de datos.
Cree en el servidor las carpetas: temp/thumbtemp
Le deje todo los privilegios a la carpeta de escritura.
¿Que hago con el dichoso mensaje?
Un saludo
Para quien se tan amable de colaborarme con lo siguiente: creé un archivo en php y pues ya cree tambien la base de datos, y en este mismo archivo digite las dos partes del archivo. al ejecutar el codigo, me aparece el siguiente error:
Parse error: syntax error, unexpected T_VARIABLE in /home/webcindario/d/e/demisgar/Untitled-5.php on line 11
que corresponde a la siguiente linea en el archivo:
$postback = (isset($_POST["enviar"])) ? true : false;
Como lo puedo solucionar??????
Envio un saludo muy especial a toda las personas que aportan sus conocimientos.
Emily
Ok excelente script me fue de gran ayuda.. gracias .. ojala todos compartieran estos detalles que son de mucha utilidad ...te felicito.
Hola
Muy cordialmente me dirijo a ustedes, para solicitar colaboracion porfa porfa
Un saludo
Para quien se tan amable de colaborarme con lo siguiente: creé un archivo en php y pues ya cree tambien la base de datos, y en este mismo archivo digite las dos partes del archivo. al ejecutar el codigo, me aparece el siguiente error:
Parse error: syntax error, unexpected T_VARIABLE in /home/webcindario/d/e/demisgar/Untitled-5.php on line 11
que corresponde a la siguiente linea en el archivo:
$postback = (isset($_POST[”enviar”])) ? true : false;
Como lo puedo solucionar??????
Envio un saludo muy especial a toda las personas que aportan sus conocimientos.
oye tengo un problemo!
me carga esta direccion cuando carga la imagen: "http://localhost/prueba/%3C?php%20echo%20$_SERVER[%27PHP_SELF%27];%20?%3E"
y me da este mensaje:
Not Found
The requested URL /prueba/< was not found on this server.
Apache/2.2.11 (Debian) PHP/5.2.9-2 with Suhosin-Patch Server at localhost Port 80
ayuda xfa, me parece ke tengo un problema de capa 8 xD
me da la impresion de ke no tengo bien configurado apache2.
Agradecere toda la ayuda que me puedan dar
q bn material
gracias
vander - colombia
El script me ha servido demasiado, ya consigo almacenar imagenes y recuperarlas desde la base de datos, pero aun tengo un problema, resulta que algunas imagenes se almacenan completas y otras solo la parte superior, no se si esto se deba a la variable ALTURA definida por defecto con valor de 100, o el error tenga origen en otra cosa.
Ya he modificado ALTURA y algunas siguen cargando incompletas.
Agradeceria enormente que me pudieran dar alguna idea y asi solucionar dicho inconveniente lo más pronto posible.
Lo que no quiero es modificar el tipo de campo a mediumblob sino que la imagen pueda renderizarse y ocupe como maximo los 63k que permite el blob.
Alguien podria ayudar, lo he intentado todo pero siempre me salen estas lineas .Gracias por todo
Warning: imagejpeg() [function.imagejpeg]: Unable to open '/tmp/thumbtemp' for writing: No such file or directory in H:\wamp\www\wedprueba\untitled.php on line 67
Warning: fopen(/tmp/thumbtemp) [function.fopen]: failed to open stream: No such file or directory in H:\wamp\www\wedprueba\untitled.php on line 83
Warning: filesize() [function.filesize]: stat failed for /tmp/thumbtemp in H:\wamp\www\wedprueba\untitled.php on line 84
Warning: fread(): supplied argument is not a valid stream resource in H:\wamp\www\wedprueba\untitled.php on line 84
Warning: fclose(): supplied argument is not a valid stream resource in H:\wamp\www\wedprueba\untitled.php on line 86
Fotos guardadas
es excelente gracias me ayudo mucho
Lo probé y me funcionó a la perfección solo un detalle que no me guardaba el thumbnail, de la imagen pero he creado una carpeta en C:/xampp/htdocs/thumtemp porq alli si tengo permisos. y funcionó excelentemente.
🙂
[...] * Mostrar una imagen desde blob mysql usando PHP Fuente original http://www.buayacorp.com/ link original [...]
<?php
echo 'hola';
echo '';
?>
me funciona a la perfeccion gracias, un muy buen aporte
Hola no se que estoy haciendo mal pero pongo el codigo y me dice el navegador que:
El sitio web rechazó mostrar esta página web
HTTP 403
Causas más probables:
Este sitio web requiere un inicio de sesión en él.
Utilizo HEIDIsql y no tengo ninguna contraseña puesta asi que estoy perdido, ¿alguien puede ayudarme? Gracias x adelantado
gracias broo por este ejemplo, lo implemente y me resulto muy bien, si me guarda la imagen en mi base de datos.
una vez mas muchas gracias....
Este codigo funciona bastante bien con imagenes menores o iguales 1024 x 768, pero no entiendo por que no funciona en imagenes superiores o iguales a 2048 x 1536. No es el peso / medida de archivo, es el tamaño de la imagen el problema.
He realizado un montos de pruebas y al poner mensajes en las diferentes lineas del codigo, se queda o aborta en la sentencia $thumb = imagecreatetruecolor($ancho, ALTURA);
No obtengo ningun error pero hasta antes de esta linea avanza el codigo.
Tengo la misma version de libreria GD instalada. Repito funciona muy bien pero solo hasta 1024 x 768 y le tengo configurado hasta 2 Mb de peso. Alguna idea del porque este extraño error.
AQUI LA SOLUCION.
En mi caso Centos no me funciona por defecto el limite maximo indicado en el php.ini
-----
Este error se produce cuando un script PHP excede el límite de memoria definido por defecto, que son 8 MB. Se soluciona de una forma muy sencilla.
Para cambiar el tamaño máximo del límite de memoria para un script en concreto es suficiente con añadir la siguiente línea al comienzo del script:
Con la línea anterior cambiaríamos el límite a 20 MB de memoria. Si no fuera suficiente, puedes ir aumentando el número de megas hasta que el script funcione.
Se puede conseguir que este cambio sea permanente para todos los scripts PHP que se ejecuten en el servidor añadiendo la siguiente línea al archivo php.ini del servidor:
memory_limit = 20 MB.
Yo he necesitado cambiar los límites de memoria simplemente para trabajar con imágenes (crear las miniaturas, etc.).
http://www.davidbayon.net/index.php?mostrar=posts&post_id=65
Gracias por tu aporte Oswaldo
Amigo tu script me funcionó de maravilla, de verdad felicitaciones, solo tengo una duda que no he podido resolver, como defino el ancho.
En el script esta definido la altura pero que le tengo que agregar para definir el ancho y hacer el thumbnail a mi gusto?
Gracias y espero tu respuesta...
PD: Felicitaciones....
Ya resolví el problema, fue muy sencillo, lo que hice fue definir el ancho tal cual como lo hiciste con la altura, luego sustituí y logre lo deseado. Gracias...
Pensando me surgió otra pregunta, no te parece que guardando todas las imágenes vas a cargar mucho mysql? No sería mejor guardarlo en una carpeta para así liberar espacio en mysql? De ser así como se modificaría el script?
Asi es Yohe, el ejemplo es demostrativo, no es necesario que se use de esa manera.
díganme como puedo guardar una foto en mi bd usando netbeans?
estoy haciedo un registro el cual m pide q inserte el nombre, apellidos, DNI, tbn tengo un 3 botones los cuales son agregar bd cancelar operacion, cargar imagen:
cargar imagen me envia a buscar la imagen que la tengo guardada en mi carpeta imagen, luego.
el boton agregar debera guardar el nombre, apellidos, dni y la foto en si en la bd, en el sgt from tengo lista en donde deberan aparecerme la lista de personas que e inscrito con con su respectiva foto para ellos e insertado un tabla en mi formulario y un boton ver. el cual me mostrara las personas ya isncritas
aquí les dejo el codigo del form registro
package carnet;
import java.sql.*;
import java.sql.Connection;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author oginf
*/
public class Registro extends javax.swing.JFrame {
/** Creates new form Registro */
public Registro() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
//
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jTextField1 = new javax.swing.JTextField();
jTextField2 = new javax.swing.JTextField();
jTextField3 = new javax.swing.JTextField();
jComboBox1 = new javax.swing.JComboBox();
jComboBox2 = new javax.swing.JComboBox();
Cargar = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jPanel2 = new javax.swing.JPanel();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Registro");
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Datos Personales:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel1.setText("Nombre:");
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel2.setText("Apellidos:");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel3.setText("Dni:");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel4.setText("Cargo:");
jLabel5.setFont(new java.awt.Font("Tahoma", 1, 11));
jLabel5.setText("Oficina:");
jTextField2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextField2ActionPerformed(evt);
}
});
jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jComboBox1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jComboBox1ActionPerformed(evt);
}
});
jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
Cargar.setFont(new java.awt.Font("Tahoma", 1, 11));
Cargar.setText("Cargar");
Cargar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
CargarActionPerformed(evt);
}
});
jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 100, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 116, Short.MAX_VALUE)
);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(jLabel3)
.addComponent(jLabel1)
.addComponent(jLabel4)
.addComponent(jLabel5))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 223, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextField1, javax.swing.GroupLayout.DEFAULT_SIZE, 243, Short.MAX_VALUE)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, 76, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jTextField2))
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(54, 54, 54)
.addComponent(Cargar))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGap(34, 34, 34)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addContainerGap(27, Short.MAX_VALUE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel3)
.addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel5)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(Cargar)))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Opciones:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 11))); // NOI18N
jButton2.setFont(new java.awt.Font("Tahoma", 1, 11));
jButton2.setText("Agregar");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(new java.awt.Font("Tahoma", 1, 11));
jButton3.setText("Cancelar");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addGap(72, 72, 72)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 114, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 80, Short.MAX_VALUE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 126, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(105, 105, 105))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE)
.addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE))
.addContainerGap())
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(33, Short.MAX_VALUE))
);
pack();
}//
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void CargarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
// TODO add your handling code here:
m.Abrir_Dialogo(jPanel3);
} catch (Exception ex) {
Logger.getLogger(Registro.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jPanel3.removeAll();
jPanel3.repaint();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Registro().setVisible(true);
}
});
try{
String cmd="select Nombre from personal";
}
catch(Exception ex){
System.out.println(ex.getMessage());
System.out.println(ex.toString());
}
}
metodo m=new metodo();
package carnet;
import java.sql.*;
import java.sql.Connection;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author oginf
*/
public class Registro extends javax.swing.JFrame {
/** Creates new form Registro */
public Registro() {
initComponents();
}
private void CargarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try {
// TODO add your handling code here:
m.Abrir_Dialogo(jPanel3);
} catch (Exception ex) {
Logger.getLogger(Registro.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jPanel3.removeAll();
jPanel3.repaint();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Registro().setVisible(true);
}
});
try{
String cmd="select Nombre from personal";
}
catch(Exception ex){
System.out.println(ex.getMessage());
System.out.println(ex.toString());
}
}
metodo m=new metodo();
no seria mas facil usar
copy($_files[tmp_name][name]&$_files[tmp_name][name]
bueno algo asi pero seria emjor usar eso a meterse al canibalismo en php
Soy nuevo en todo eso y me gustaría saber que pudo haber ocurrido con el proyecto, ya que estaba funcionando excelentemente hasta que me saltó un error 403 del servidor, que no tengo permiso o algo así, será que alguien me puede ayudar?
aquí esta el código... gracias... http://pastebin.com/q5wqBpfu
Estimados;
Funciona perfecto el codigo, muchas gracias...
pero tengo un pequeño problema con la imagen que se guarda en la bd no esta completa, que ocurrira?
Salu2
las imagenes no salen completas por que la variable donde se guardan son de tipo blob y esas variables solo permiten archivos que pesen como limite de 64 kb esto me paso = ami por eso use longblob o mediumblob que soportan archivos de mayor tamaño =P
Hola!!
Genial el ejemplo, me ha ayudado mucho. Muchísimas gracias por el aporte.
Me funciona perfectamente salvo que al mostrar la imagen (he utilizado tu siguiente artículo) me corta la imagen original. Es decir, al mostrar la imagen original sale cortada aunque el espacio está ahí porque si se muestran varias de las imágenes aparece un espacio entre ellas que parece que corresponde al real tamaño de éstas. La imagen en miniatura sale perfecta.
Algún consejo al respecto??
Estoy utilizando MACOSx
Muchísimas gracias de antemano.
Saludos
Ya lo he resuelto, simplemente definir el campo "foto" longblob en vez de blob
Saludos y muchas gracias por el script!!