PHP - Subir Imagenes

   
Vista:

Subir Imagenes

Publicado por Jose (37 intervenciones) el 20/11/2014 15:30:38
Buen día.


Estoy intentando subir imágenes a una tabla de mysql, y el campo de mysql es tipo blob, pero al momento de guardar la imagen me aparecen estos tres errores:

- Warning: fopen(C:\xampp\tmp\phpE634.tmp): failed to open stream: No such file or directory in C:\xampp\htdocs\EAS_NUEVO\profesor\guardar_preguntas.php on line 136

- Warning: filesize(): stat failed for C:\xampp\tmp\phpE634.tmp in C:\xampp\htdocs\EAS_NUEVO\profesor\guardar_preguntas.php on line 139

- Warning: fread() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\EAS_NUEVO\profesor\guardar_preguntas.php on line 139


Y el codigo que tengo es este:


1
2
3
4
5
6
7
8
9
10
11
//datos de la imagen
$imagen_tmp=$_FILES['imagen']['tmp_name']; //nombre temporal
$imagen_nombre=$_FILES['imagen']['name']; //nombre
$imagen_tamanio=$_FILES['imagen']['size']; //tamaño
$imagen_tipo=$_FILES['imagen']['type']; //tipo
 
//abrir la imagen para lectura
Linea 136 ---> $lectura_imagen=fopen($imagen_tmp, "rb");
 
//convertir la imagen en código binario
Linea 139 ----> $imagen_binario = addslashes(fread($lectura_imagen, filesize($imagen_tmp)));

Si alguien me puede colaborar lo agradeceria mucho, ya que llevo como 1 semana intentando y no me da aún.


Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Subir Imagenes

Publicado por xve (5515 intervenciones) el 20/11/2014 16:48:40
Hola Jose, por alguna razón, no recibe el nombre correcto... puede ser que la variable este vacia? has probado ha hacer un:
echo $_FILES['imagen']['tmp_name'];

Entiendo que en el formulario, has puesto el enctype="multipart/form-data", verdad?

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subir Imagenes

Publicado por Jose (37 intervenciones) el 20/11/2014 16:50:46
Buen día.


Ya me funciono, lo que me faltaba era enctype="multipart/form-data"


Lo que me pasa ahora es que no me muestra la imagen, lo que muestra es esto:

‰PNG  IHDRbL>'—´sRGB®ÎégAMA± üa pHYsÃÃÇo¨d}IDATx^íÝ?ÚJûðñç=Q¹¢Ûj+:*º­¨¶£ÚŠŽjßMBEq/Ù•nVŠÈ9R ‰P¤ eµ¤8Ü QQüä&É33cÏxì1,$,çû)V‹=Ï?¾°1ÿï …0 „I` La“À@˜Â$0&€0 „I` LaÒ¿U¸è·Î‚Jõ²¿Õ‚I§ÒGÿâdÑídžAÆÆq¡?€¤§X/+• 9Xê×ÏȲßhôrÞoVeÂIç¼9XéµÏÁ¬S©T:3ýêPžq»<ïn_ š•ÊvÅ góJ¥Ö™ë¹Ìó?ËÚå€ÍöøþÈFÕoòïOõ{úþØÕ];ÄÙnžw{z¦Nì´ç©&…“v Þ+ÁÁÏf‹ê|Zûù0)· ˸š :—õZU¶f%¸>uj^ ›ñîÂY·Q­g­áó:&~G˜´[«Éü(O¼Òí¿'^•¶?'6[Îöî#1êR§§õó±ˆëùPL0gjº3ÌYý¢Õék½zczaÒ>çÜØö£ê79Iúwù-}xLýÖѤŽ0§-»ÃR§…;…6v7«×2rÅ>™³ìz1ìµ.ô{CpÖhõ&Ç7WÖAÃ$u8œŸ‹p?hOöùƶÆÉ3°½|Œ®—ãv-¿ŒËÑ•\›rŒïé¿Ýo8;ß±‹£·°M'o˜$Bž`›þË?£.uzþýÎ{ Ù6•ÛØÞC˜´·97mÛQ…ãó¯ëÃèx´Ž¦ç&-ú]¯S˜Ý,Ï/¹â±Ö,ëUÿ¶V?d˜¤>—=ïNĹʍ“~ßiÜöŒ!è,ã¼+ÏÛ‚úÕ`¾úcMxŒŽ¹[ÿU~_GòdÈ$f¨Cóù–)ßÅÓ.’ FŒóñ Ól=ùºub—qò;Nÿu§Ø'ˆ>”ÔvÊ­@7ÿ³^«7ŽßBýAâyw®^ÿ;0LR·7ÊÖŒn½k67pèwæFߊH7[h¢Kºñ ÕÚe׸Ö¿é®&½VCÝŒÖt¼¥«ãÊ”e%òŸ¨›QÔÍnÁY£¾Än²Ëaë"¾-Nå×ÎSUv󝜩&ÙúT_QtÑ—ªíTýEšÞÌ,m¸ˆkî¾Òšl¬Ö_ç×V €l ¬n+¾µQQùϺÕl´ú©jÆ d'7U‚àZg˜ªÝ~ËASTÇü<%œuÄä/³Š¦‡R’epÖìŒEÒõbœ,j´GÖñPP7O¿—êvo¿T–¦äXÍúí‹MNíþÚ³â=¼”õ|ÐNµ@·]7ò/辂]»ùŽÄŒõ¨TÎ=Gæ^zÄ3’6TëÛýÉr«ÙBÕ¼=ѯòXcÚ­ÔŒ]¨TorÝiÎõìCÚvøèѼÝþô±ñôy~=ý¥;L±ä52GÝ@ÕÚ…Ø(rŽ.Vexâd訇9‘gFTÂ(­£a\žÞ˜ÂþÞ4w¡ÚÖÉ–R•pZMººb²i]y^÷j¶õe)œÜŠUk¸m;˜Ë…ÚvÀ’§ö[ ]†¢wÏ2S£Ü§ã(vugŠZíÈOÊáÂ$5ÚêÑG­³Žè~ã„X5µ5ÍQxš‚T$¤FJ­^WKqulÔ¥¬TþÕj<δÔi‘=˜Ô–ZÙ˜;÷™‘§ö±ý•8_Q¢l«Õ¤í”TeÜ­“D«¡lùGNväÅN)žÊi²”¨š]ÐÚu܇*Áy½žêd•¡ „,éPU!§ZT~•7Ý*jÑáå.‹w«îKv]Ì?¬Q8䧛Îéé=âáì:ÛHÞbf×bçâMW¿vó·‹çxÝ1ÁêñTí<ÍëâÝÇ.ÃÇU±Qñþô±á«¾? •ÂŸh:¸(ÊÓÑÅ ................................... etc


Y tengo el siguiente código:


$re=mysql_query("select imagen_pregunta from preguntas_examenes where id_pregunta_examen='49'",$conexion) or die (mysql_error());
$f=mysql_fetch_array($re);
header('Content-type: image/x-png');

echo $f['imagen_pregunta'];



Si me puedes colaborar te lo agradezco


Muchas Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Subir Imagenes

Publicado por xve (5515 intervenciones) el 20/11/2014 20:34:01
Hola Jose, como sabes que la cabecera es: image/x-png
Has probado con: image/png

Puedes utilizar getimagesize() http://php.net/manual/es/function.getimagesize.php para saber el formato exacto del content-type.

Coméntanos si es esto, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Subir Imagenes

Publicado por Jose (37 intervenciones) el 20/11/2014 20:45:09
Buen día.

Ya logre el objetivo lo que hice fue lo siguiente:

En una pagina php hice esto:
1
echo "<img src='imagen_texto_examen.php?id_pregunta_texto=".$id_pregunta_texto."' style='width:100%;'/>";

Y en imagen_texto_examen.php hice esto:

1
2
3
4
5
6
7
8
9
include("conexion.php");
 
$id_pregunta_texto=$_GET['id_pregunta_texto'];
 
$re=mysql_query("select imagen_pregunta_texto,tipo_imagen_texto from preguntas_examenes_texto where id_pregunta_texto='$id_pregunta_texto'",$conexion) or die (mysql_error());
$f=mysql_fetch_array($re);
$tipo_imagen=$f['tipo_imagen_texto'];
header('Content-type: $tipo_imagen');
echo $f['imagen_pregunta_texto'];

Toco crear dos documentos para que me funcionara bien, de todas maneras muchas Gracias por la ayuda !!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Subir Imagenes

Publicado por xve (5515 intervenciones) el 21/11/2014 08:51:28
Gracias por compartirlo Jose!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar