Foros del Web » Programando para Internet » PHP »

Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Estas en el tema de Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario) en el foro de PHP en Foros del Web. Hola Cluster Pues aqui de new ya prove y una disculpa no te habia entendido lo del link... 1) Con el Header:: La imagen “ ...

  #151 (permalink)  
Antiguo 31/08/2004, 16:50
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 20 años, 8 meses
Puntos: 1
Warning: GD

Hola Cluster

Pues aqui de new ya prove y una disculpa no te habia entendido lo del link...

1) Con el Header::
La imagen “http://localhost/imagenes/ver_thumbnail.php” no puede ser mostrada, porque contiene errores.

2)Sin el Header::

Warning: imagecreatefromstring: Passed data is not in 'JPEG' format in /imagenes/ver_thumbnail.php on line 24
Warning: Couldn't create GD Image Stream out of Data in /imagenes/ver_thumbnail.php on line 24
Warning: imagesx(): supplied argument is not a valid Image resource in /imagenes/ver_thumbnail.php on line 33
Warning: imagesy(): supplied argument is not a valid Image resource in /imagenes/ver_thumbnail.php on line 34
Warning: Division by zero in /imagenes/ver_thumbnail.php on line 37
Warning: imagesx(): supplied argument is not a valid Image resource in /imagenes/ver_thumbnail.php on line 47
Warning: imagesy(): supplied argument is not a valid Image resource in /imagenes/ver_thumbnail.php on line 47
Warning: imagecopyresized(): supplied argument is not a valid Image resource in /imagenes/ver_thumbnail.php on line 47


Pues por lo poco que entiendo dice que los datos que se le estan pasado no son el tipo de formato especifidcado (bueno porque quitamos el Header) y por lo mismo no puede crear la imagen el GD

la neta no se que hacer espero y me puedan ayudar gracias...

Nota: tengo una version de 4.2.2 de PHP puede ser la limitante?
__________________
Kike Lee
Paz && Bien

Última edición por kikelee; 31/08/2004 a las 16:56
  #152 (permalink)  
Antiguo 01/09/2004, 09:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El error como bien comentas:

Cita:
Warning: imagecreatefromstring: Passed data is not in 'JPEG' format in /imagenes/ver_thumbnail.php on line 24
Te dice que esa imagen no es un JPEG válido para las GD que usas (no sé que versión usas . .revisalo en un phpinfo() ...)

Que tipo de imagen se supone que es (que dice el formato MIME de esa imagen?).

Un saludo,

PD: Por lo menos ya has visto el error .. Toma nota para el futuro.
  #153 (permalink)  
Antiguo 01/09/2004, 11:05
 
Fecha de Ingreso: julio-2003
Ubicación: Queretaro Qro.
Mensajes: 131
Antigüedad: 20 años, 8 meses
Puntos: 1
GD phpinfo

Hola Cluster

Esta es la version que se despliega el phpinfo

gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled

ya revisando en mi linux dice que la version instalada :(rpm -q gd): es gd-1.8.4-11

que puedo hacer, actualizar el gd tal vez hay una vesion de gd2 pero no hay para esta distribucion (RedHat9), puedo instalar la de fedora core 1 o 2 que es la version: gd-2.0.28-1?

la neta ni idea de que pueda hacer para que funcione....
__________________
Kike Lee
Paz && Bien

Última edición por kikelee; 01/09/2004 a las 11:07
  #154 (permalink)  
Antiguo 01/09/2004, 12:39
Avatar de Edypu  
Fecha de Ingreso: octubre-2003
Ubicación: La Paz - Bolivia
Mensajes: 394
Antigüedad: 20 años, 6 meses
Puntos: 1
Felicidades

... muy bueno el tutorial felicidades cluster ... es muy buena la ayuda que brindas a todas las personas que visitan este sitio.

recibe un cordial Saludo
  #155 (permalink)  
Antiguo 01/09/2004, 13:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por kikelee
Hola Cluster

Esta es la version que se despliega el phpinfo

gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with freetype
JPG Support enabled
PNG Support enabled
WBMP Support enabled

ya revisando en mi linux dice que la version instalada :(rpm -q gd): es gd-1.8.4-11

que puedo hacer, actualizar el gd tal vez hay una vesion de gd2 pero no hay para esta distribucion (RedHat9), puedo instalar la de fedora core 1 o 2 que es la version: gd-2.0.28-1?

la neta ni idea de que pueda hacer para que funcione....
En www.php.net/gd tienes el link hacia la web oficial de las librerías GD oficiales .. ahí tendras al menos las librerías listas para compilar (no sé si también los RPM) ...

Lo importante tambien es que actualizes la extensión de PHP de GD para que puedas usar la versión GD 2.x .. De hecho creo que si instalas los RPM de GD 2.x, te buscará las dependencias de las librerías GD adecuadas y te sugerirá actualizarlas. Deberías usar la mismas librería GD tanto de las que soporta PHP (las que informa en un phpinfo() ..) como de las que tienes instaladas como tales librerias.

Si quieres .. instala Fedora core 2 (realmente es cómodo de actualizar).

Un saludo,
  #156 (permalink)  
Antiguo 28/09/2004, 09:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 440
Antigüedad: 19 años, 7 meses
Puntos: 2
archivos no imagenes

yo quisiera saber si eso mismo aplica para trabjar no con imagenes sino por ejemplo con .do .pdf o.html...para guardar archivos en una base de datos postgres
__________________
paty :adios:
  #157 (permalink)  
Antiguo 28/09/2004, 09:52
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Yo creo que el uso de los campos BLOB, se podrian usar en lo que es un servidor local o red local, donde se tenga una pagina interna, ya que luego la base de datos esta en el mismo disco duro donde se tenga instalado mysql, haciendo asi que la base de datos sea lo grande que se quiera sin sobre pasar la capacidad del disco duro. No se si es correcto pero yo lo veo asi.
:)
  #158 (permalink)  
Antiguo 30/09/2004, 06:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por niltza
yo quisiera saber si eso mismo aplica para trabjar no con imagenes sino por ejemplo con .do .pdf o.html...para guardar archivos en una base de datos postgres
Si, la técnica es aplicable a cualquier tipo de archivo. Es más .. en los scripts de ejemplos tienes los scripts específicos para trabajar imagenes (y hasta hacer thumbnails de estas) .. pero en su base es para cualquier tipo de archivo pues se toma el formato MIME del mismo (se almacena en la BD en un campo) y lo puedes usar para formar las cabeceras HTTP como ya hace uno de los scripts de ejemplo.

Ahora, recuerda que los ejemplos y detalles própios de la gestión de archivos binarios sobre una BD está orientado a Mysql (no a PostgreSQL).

Un saludo,

Última edición por Cluster; 30/09/2004 a las 06:16
  #159 (permalink)  
Antiguo 30/09/2004, 06:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Shute
Yo creo que el uso de los campos BLOB, se podrian usar en lo que es un servidor local o red local, donde se tenga una pagina interna, ya que luego la base de datos esta en el mismo disco duro donde se tenga instalado mysql, haciendo asi que la base de datos sea lo grande que se quiera sin sobre pasar la capacidad del disco duro. No se si es correcto pero yo lo veo asi.
:)
Bueno .. en un servicio de hosting común también está corriendo Mysql en el mismo "servidor" que corre el Servidor HTTP (Apache por ejemplo) junto con PHP .. así que las llamadas entre tu BD y PHP son igualmente "locales".

Otra cosa es que .. depende del tamaño de los archivos y cantidad de estos se le haga más dificultoso a Mysql trabajar dichos datos. Esta técnica de almacenar datos "binarios" en la própia BD y no sólo referenciados (por el nombre de archivo) no es lo mejor para algunos casos .. pero también tiene sus ventajas en otros casos (principalmente a la hora de migrar/hacer copias de seguridad). De todo esto se ha hablado en este mismo mensaje sobre los pro's y contras de esta técnica.

Por mi parte pese que realicé en su tiempo este "mini" tutorial al respecto .. lo hice con el fin de que se vea una técnica más. Ahora depende de la evaluación de cada proyecto en particular, vendrá mejor usar esta técnica o la "clásica" ....

Un saludo,
  #160 (permalink)  
Antiguo 30/09/2004, 07:21
 
Fecha de Ingreso: septiembre-2004
Ubicación: Viviendo en Manresa(Barcelona)
Mensajes: 230
Antigüedad: 19 años, 6 meses
Puntos: 0
Estoy deacuerdo contigo Cluster, en fin el uso que le di yo en su momento era para un servicio local, con lo cual me fue bastante bien, eso si, la opciones que dices tu tambien las veo como otros opciones. :)
Un saludo.
  #161 (permalink)  
Antiguo 03/10/2004, 15:17
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Pues tengo problemas a la hora de mostrar las imagenes

Hola a todos:
El tuto esta excelente pero tengo algunos problemas a la hora de mostrar el thumbnail de la imagen. Lo que hago es lo siguiente:
Código PHP:
$query "SELECT * FROM jcgrm_noticias WHERE idnoticia=".$_GET['noticia']."";
      
$result mysql_query($query) or die(mysql_error());
      
$row mysql_fetch_assoc($result);
      echo 
"<table width='100%' align='center' class='table' cellpadding='0' cellspacing='0' border='0'>";
      echo 
"<tr>";
      echo 
"<td class='padding font topics bold tr'>Mostrando noticia: ".$row['titulo']."</td>";
      echo 
"</tr>";
      
# Resumen
      
echo "<tr>";
      echo 
"<td class='paddingimg font'>".nl2br($row['resumen'])."</td>";
      echo 
"</tr>";
      
# Ampliacion
      
echo "<tr>";
      echo 
"<td class='paddingimg font'>".nl2br($row['ampliacion'])."</td>";
      echo 
"</tr>";
      
# Imagen actual
      
echo "<tr>";
      echo 
"<td class='paddingimg font'>";
      if(
$row['imagen']!=""){
       
header ("Content-type: image/jpeg");
       
$img imagecreatefromstring($row['imagen']);
       
$picsize 123;
       
$new_w imagesx($img);
       
$new_h imagesy($img);
       
$aspect_ratio $new_h $new_w;
       
$new_w $picsize;
       
$new_h abs($new_w $aspect_ratio);
       
$dst_img imagecreatetruecolor($new_w,$new_h);
       
imagecopyresized($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img));
       
imagejpeg($dst_img,'',100);
      }else{
       echo 
"<img src='../images/noimage.gif'>";
      }
      echo 
"</td>";
      echo 
"</tr>";
      
# Autor
      
echo "<tr>";
      echo 
"<td class='paddingimg font'>".$row['autor']."</td>";
      echo 
"</tr>";
      
# Correo Electrónico
      
echo "<tr>";
      echo 
"<td class='paddingimg font'>".$row['celectronico']."</td>";
      echo 
"</tr>";
      
# Referencia
      
echo "<tr>";
      echo 
"<td class='paddingimg font'>".$row['referencia']."</td>";
      echo 
"</tr>";
      echo 
"</table>"
pero cuando muestro la pagina me da este error:
Cita:
Warning: Cannot modify header information - headers already sent by (output started at D:\Karel\jclubgrm\admin\noticias.php:14) in D:\Karel\jclubgrm\includes\mainfunctions.php on line 1927
y me sale el codigo binario de la imagen en vez de la misma, o sea esto:
Cita:
....
ÿ‚K~Í.ùK㳓Ü7ü4ÅA0ü9¯ót»¼iX‘œp8Î:\ã·'®s_ èûÿþIø$ßìÈ®0Zÿã–AÇ þÐ_‡|‘ŠüƒÄ꣓àªÆuš–sO÷s«)Óƒ–0rqRønÒ[´¯e{Ÿ«øu‰©[5ÄR•:åÊçxR:³Œ18E7”*k¶ÕäîÝÝ*ï~0þÕ7ß´‰ðoÂKßi > Ú¾“¥øsã7Ãß´?øŽmW@ðþ©øOâO†t4“\Õ4Ã*Øø¢dÔôŸ Ûü=ñ/5ßøâ=牢ñ÷FˆÞ-¼øuâKxƒLÒ¼h·ÿ4_x“Ç>·ñBÑ5»/ø«Hð~¡âÚx»ÁÞ!ñŽƒ¢\A¥¶§áë/xWV×4»9t›?èWW1jÖžEñ+öWøKño\×|AãMcãɾñúuÆ¡ká?ÚÃö ¦øs A&—¥YèöË¡øWá×Æo øcÃóZXÃ.§ká*IµÖµIoµÍbíkSÔµ ¿¡ìlôÍ>Ñ4Û ;?Np,** ·±Aw4³Ý²Á‹mÄÓÍ5¬GÎyewWywóžU•âòÜã‰q³Íªâò¬ß—b2Œ ¢½LÓW$ö8.\ÕO0ÌsœÆ–)fy*\N?C/Ër<Wƒž*¥…ÄSÁSÄÏöÜUo*G9Ò… x«þ ñá¯Ù«Åß |5ðÿà_€<'ñ{áÇ쇮|Cð·Â/‚~.ð—Å_„:‚üEû:üOø÷០ü'øwñgÂÚ7Š¾x /xu¼ ñ3á埌4oèZ¦ xšûî™S`T ©´*€UWPÀ è+‰Ñô3FÕ|M«ÙÝëR]øß[²×õ¥ÕüOâ}MÓ.ôï è>´²ðÆ*êšž“àO.—á}>êOü?°Ð¼)sâÍOÄÞ:ºÑ¦ñ§|mâ=oÍ _ùê*‡Û€Xo‘wŒ¨HEp«í–0T8•#új¼¿ð%þG',»ZwõüþY·v «hß·oí£)2~Ö?´\X`@&‹Þ0ˆ²ž„1CŒsó ×Ëw^"K ~q¹AèW$uƃӘÈöŸø(MÆßÛÇöÔDq½?koÚ<‚œÿ‹Çã3·œÀýì  ‚ |k;I?ßvbNI,}ùÇOÇ«ú_ žTËò|ªÂX™¬¯/jP÷yRÂQIOâwêä–Š÷I«¿ç™dQÌñøꎼ0Ñúî"-T÷œ¿}&Ü,â*µ£'{Ù¦ÓG]â«û²D Ñ'9bFæüô=:gŽjI$•‹ÊÏ#žK1É'žNsÇ|Ÿz£¥0çÔ“Ž8å Éî}» ‰<ì°Àí ¹Áaž¤Jð}+çq¹Ìó(JxšÒ§+,2¿/¼×+ä·5MÓm®ïCë2ü––Y(Ç B5&ã®*V¿F×3j4“è¢ìïÕíh¨'?N1_›Ÿä*x³þà?úŒèÕú>eÞç qþ'ð9¯ÍßLâNJ؃ý†3ôðÞŽäF+⸢Š†„ãwâéÙµoùq^êÖ M5oïéõ¹^|]X;^8yhš’·´£*ׯwê~‘•W0ôüºûzúÒ e‹†QÆŸ`¦=±Ò”¸ôêyÛ·#·Òœ@lÔ÷$sù£ØWÜåÅHrÓI7 tœ[m=Ušíw¦žIocⳌŽ•Xʤ)ÂGÍËÚêOEk«½WÝ¢•%
...
que hago mal?
Salu2
__________________
Ing. Reynier Pérez Mira
  #162 (permalink)  
Antiguo 04/10/2004, 07:42
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Pues he modificado un poco las cosas

He modificado un poco las cosas y ahora lo que hago es llamar las cosas de la siguiente forma:
Código PHP:
echo "<img src='thumbnails.php?dir=not&imagen=".$fetch['imagen']."' alt='".$fetch['titulo']."' class='cursor'>"
y entonces en el arhivo thumbnails.php tengo el siguiente codigo:
Código PHP:
if($_GET['dir'] == "not"){
   
$img imagecreatefromstring($imagen);
   
$picsize 123;
   
$new_w imagesx($img);
   
$new_h imagesy($img);
   
$aspect_ratio $new_h $new_w;
   
$new_w $picsize;
   
$new_h abs($new_w $aspect_ratio);
   
$dst_img imagecreatetruecolor($new_w,$new_h);
   
imagecopyresampled($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img));
   
header ("Content-type: image/jpeg");
   
imagejpeg($dst_img,'',100);
   
imagedestroy($dst_img); 
pero nada me sigue saliendo lo mismo y la ejecucion del script se me hace larga cantidad y hasta se me bloquea el browser
Que pasa?
Salu2
__________________
Ing. Reynier Pérez Mira
  #163 (permalink)  
Antiguo 04/10/2004, 09:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Reynier ...

que tiene: $fetch['imagen'] ?

Por qué eso no puede ser el archivo binario (no debe ser), en tal caso podría ser una referencia a tu registro para obtener tu imagen (el binario que se almacena en el campo adecuado) previa consulta SQL a tu BD .. no puedes pasar por el URL todo el "binario" como parece que lo estás intentando hacer .. son muchos datos para el método GET!!!

Un saludo,
  #164 (permalink)  
Antiguo 04/10/2004, 10:26
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Si ...

Sip creo que ya entendi lo que me dices pero la pregunta es como podria hacerlo entonces? Lo que me tratas de decir que $fetch['imagen'] lo que contiene es esto mas o menos:
Cita:
....
ÿ‚K~Í.ùK㳓Ü7ü4ÅA0ü9¯ót»¼iX‘œp8Î:\ã·'®s_ èûÿþI ø$ßìÈ®0Zÿã–AÇ þÐ_‡|‘ŠüƒÄ꣓àªÆuš–sO÷s«)Óƒ–0rqRønÒ[´¯e{Ÿ«øu‰©[5ÄR•:åÊçxR:³Œ18E7”*k¶ÕäîÝÝ*ï~0þÕ7ß´‰ðoÂKßi > Ú¾“¥øsã7Ãß´?øŽmW@ðþ©øOâO†t4“\Õ4Ã*Øø¢dÔôŸ Ûü=ñ/5ßøâ=牢ñ÷FˆÞ-¼øuâKxƒLÒ¼h·ÿ4_x“Ç>·ñBÑ5»/ø«Hð~¡âÚx»ÁÞ!ñŽƒ¢\A¥¶§áë/xWV×4»9t›?èWW1jÖžEñ+öWøKño\×|AãMcãɾñúuÆ¡ká?ÚÃö ¦øs A&—¥YèöË¡øWá×Æo øcÃóZXÃ.§ká*IµÖµIoµÍbíkSÔµ ¿¡ìlôÍ>Ñ4Û ;?Np,** ·±Aw4³Ý²Á‹mÄÓÍ5¬GÎyewWywóžU•âòÜã‰q³Íªâò¬ß—b2Œ ¢½LÓW$ö8.\ÕO0ÌsœÆ–)fy*\N?C/Ër<Wƒž*¥…ÄSÁSÄÏöÜUo*G9Ò… x«þ ñá¯Ù«Åß |5ðÿà_€<'ñ{áÇ쇮|Cð·Â/‚~.ð—Å_„:‚üEû:üOø÷០ü'øwñgÂÚ7Š¾x /xu¼ ñ3á埌4oèZ¦ xšûî™S`T ©´*€UWPÀ è+‰Ñô3FÕ|M«ÙÝëR]øß[²×õ¥ÕüOâ}MÓ.ôï è>´²ðÆ*êšž“àO.—á}>êOü?°Ð¼)sâÍOÄÞ:ºÑ¦ñ§|mâ=oÍ _ùê*‡Û€Xo‘wŒ¨HEp«í–0T8• #új¼¿ð%þG',»ZwõüþY·v«hß·oí£)2~Ö?´\X`@&‹Þ0ˆ²ž „1CŒsó ×Ëw^"K ~q¹AèW$uƃӘÈöŸø(MÆßÛÇöÔDq½?koÚ<‚œÿ‹Çã3·œÀýì  ‚ |k;I?ßvbNI,}ùÇOÇ«ú_ žTËò|ªÂX™¬¯/jP÷yRÂQIOâwêä–Š÷I«¿ç™dQÌñøꎼ0Ñúî"-T÷œ¿}&Ü,â*µ£'{Ù¦ÓG]â«û²D Ñ'9bFæüô=:gŽjI$•‹ÊÏ#žK1É'žNsÇ|Ÿz£¥0çÔ“Ž8å Éî}» ‰<ì°Àí ¹Áaž¤Jð}+çq¹Ìó(JxšÒ§+,2¿/¼×+ä·5MÓm®ïCë2ü––Y(Ç B5&ã®*V¿F×3j4“è¢ìïÕíh¨'?N1_›Ÿä*x³þà?úŒèÕú>eÞç qþ'ð9¯ÍßLâNJ؃ý†3ôðÞŽäF+⸢Š†„ãwâéÙµ oùq^êÖM5oïéõ¹^|]X;^8yhš’·´£*ׯwê~‘•W0ôüºûzúÒ e‹†QÆŸ`¦=±Ò”¸ôêyÛ·#·Òœ@lÔ÷$sù£ØWÜåÅHrÓI7 tœ[m=Ušíw¦žIocⳌŽ•Xʤ)ÂGÍËÚêOEk«½WÝ¢•%
...
y eso es imposible pasarlo por GET o URL, pero no se como podria hacerlo entonces para mostrar el thumbnails de esa imagen que tengo en binario en la BDatos.
Salu2
__________________
Ing. Reynier Pérez Mira
  #165 (permalink)  
Antiguo 04/10/2004, 10:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Reynier

El tutorial trata de eso mismo .. antes de hacer tus adaptaciones: pruebalo tal cual está y veras como se debe hacer lo que pretendes hacer (ya está hecho!).

Un saludo,
  #166 (permalink)  
Antiguo 04/10/2004, 10:39
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Claro

Cluster, no es que este dudando ni muchos menos de ti o del tuto, ya lo he probado y he visto que funciona, lo que pasa es que no se me ocurre como adaptarlo a mis necesidades.

Salu2
__________________
Ing. Reynier Pérez Mira
  #167 (permalink)  
Antiguo 04/10/2004, 16:25
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Pos nada

Cluster a ver si me das una mano porque por mas que trato no logro hacer lo que quiero.

Salu2
__________________
Ing. Reynier Pérez Mira
  #168 (permalink)  
Antiguo 05/10/2004, 06:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Reynier ..

No conozco tus necesidades .. pero el tratamiento de la imagen en sí si vas hacerlo por el método que describe este tutorial es el que indica el mismo. La imagen se trata por separado a otros datos que puedan relacionar o contenga esa misma tabla de "imagenes".

Tus necesidades concretas deberías explicarlas en otro mensaje nuevo tan sólo haciendo referencia a que te basas en este tutorial y aportando el código que has modificado y sobre todo explicando bien que pretendes hacer más que poner código sin explicación.

Un saludo,
  #169 (permalink)  
Antiguo 08/10/2004, 09:52
 
Fecha de Ingreso: marzo-2004
Mensajes: 50
Antigüedad: 20 años, 1 mes
Puntos: 0
hola,
tengo esta consulta en listar_imagenes.php:

$sql = "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos WHERE id='".$_GET['id']."'";

y me lista todas las imágenes de la base de datos, como hago para que solo salga la última que inserto?.

Ana
un saludo
  #170 (permalink)  
Antiguo 08/10/2004, 10:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Podría ser:

Código PHP:
$sql "SELECT id,archivo_nombre,archivo_tipo,archivo_peso FROM archivos ORDER BY id DESC LIMIT 1"
Ordenado por ID (ORDER BY id) .. de mayor a menor (DESC) y limitado la consulta a un resultado (LIMIT 1)

Un saludo,
  #171 (permalink)  
Antiguo 08/10/2004, 10:16
 
Fecha de Ingreso: marzo-2004
Mensajes: 50
Antigüedad: 20 años, 1 mes
Puntos: 0
Por fin...
muchas gracias por contestar tan rápido.
Un saludo
  #172 (permalink)  
Antiguo 09/10/2004, 06:55
 
Fecha de Ingreso: octubre-2004
Mensajes: 2
Antigüedad: 19 años, 6 meses
Puntos: 0
ejemplo

Cita:
Iniciado por mahorgo2
bueno, lo hice y funcionó perfecto...............

mahorgo2,la inquietud es la siguiente cuando intanto insertar un archivo grande me aparece un warnig que dice que el archivo escede el tamaño que ouedo hacer, seria que tu me podrias mandar uhn ejemplo, el que te funciono

de antemano muchas gracias.

diego fernando castillo

[email protected]
  #173 (permalink)  
Antiguo 09/10/2004, 10:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
dfco

No se trata de modificar el código .. sino de configuración de PHP .. de la cual se ha hablado en este mismo mensaje ..

Un saludo,
  #174 (permalink)  
Antiguo 25/10/2004, 14:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 19 años, 6 meses
Puntos: 1
Buenas!
Tengo mi web en webcindario.com y he leido por ahí que no funciona el ver imagen (de hecho lo he probado y no me funciona), alguien ha encontrado ya alguna solucion?
Si no hay solucion me podriais indicar las pautas a seguir para guardar las imagenes en el servidor en vez de en la bd y así solo guardar el enlace en BD?
Graciassss
  #175 (permalink)  
Antiguo 25/10/2004, 15:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El problema de "webcindario" parece que se debe a la publicidad que inserta este en tus páginas y que crean problemas de conflictos entre cabeceras HTTP que estos ejemplos usan para entregar la imagen al cliente vía header() ...

Si quieres guardar en tu BD sólo la referencia del nombre de tu archivo en tu BD .. sólo podrás linkear la imagen directamente y .. así quedará al descubierto donde tengas todas tus imagenes .. no podrás autentificar por médio de algún otro script que archivos se pueden o no bajar .. En ese caso tendrías que usar otro tipo de autentificación basada en .htaccess

Si aun así quieres hacerlo .. revisa en el foro .. hay ejemplos y sino, haz tu pregunta en un nuevo tema (para no mezclar). Si estudias un poco el código veras que se hacen várias cosas: se sube la imagen .. y en un punto se lleva el archio a la BD .. en tu caso tendrás que usar move_uploaded_file() para dejarla en su destino definitivo y tomar el nombre del archivo (que queda en una variable que ahí veras) para hacer el "INSERT" en tu BD en un campo tipo cadena "string" tipo: VARCHAR simple .. El resto es sólo cosa de hacer tu consulta a tu BD y obtener ese registro con ese campo que contendrá la ruta y/o nombre de tu archivo para usarlo en un tag de imagen tipo: <img src="<? echo $row['imagen'] ?>"> ...

Realmente como veras .. el script cambia por completo. Este "tutorial" es sólo un ejemplo de "otra" técnica más para tratamiento de archivos en BD de las dos comunes que hay .. esta y la de guardar en tu BD sólo la referencia del nombre del archivo.

Un saludo,
  #176 (permalink)  
Antiguo 26/10/2004, 04:03
 
Fecha de Ingreso: octubre-2004
Mensajes: 79
Antigüedad: 19 años, 5 meses
Puntos: 0
Excelente

Me funciona a la perfeccion, aunque tengo una pequeña duda, desde un formulario envio varios datos entre los que esta el de la imagen que aqui pones, todo va perfecto, lo unico es que si en alguna ocacion dentro de ese formulario no incluyo ningun archivo de fotografia, o dejo en blanco el campo de fotografia, me abre una pagina de error de mysql al enviarlo, aunque si entro a mi base de datos, el resto de los datos si que se envian a la base de datos, mi pregunta es existe alguna forma de que no muestre este error,cuando no quiero incluir imagen?
gracias
  #177 (permalink)  
Antiguo 26/10/2004, 04:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En la variable: $binario_nombre .. tienes el nombre del archivo .. si subes algo ahí estará tu nombre de archivo .. sino, no habrá nada, puedes aplicar un if() a esa variable para que en consecuencia se ejecute los mysql_query() subsiguientes o no ..

Un saludo,
  #178 (permalink)  
Antiguo 28/10/2004, 04:41
 
Fecha de Ingreso: octubre-2004
Mensajes: 79
Antigüedad: 19 años, 5 meses
Puntos: 0
Exclamación Gracias cluster pero no me queda muy claro

Disculpa pero soy un poco novato, aver si entiendo esta es la parte donde tengo que poner un if?

$binario_nombre=$_FILES['archivo']['name']; aqui?
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];


el problema es que no se como conformar el if para que si no mando la foto no e de el error y a ejecutar los mysql subsiguientes..

Última edición por Importtex; 28/10/2004 a las 04:42
  #179 (permalink)  
Antiguo 28/10/2004, 05:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si te fijas en insertar.php .. el script original hace:

if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

Es decir, .. si no hay archivo .. se redirecciona a otro sitio (al formulario ..). En tu caso tendrás que quitar eso para comenzar.

Y .. usando un if igual .. lo aplicas a todo el bloque:

Código PHP:
if (empty($_FILES['archivo']['name'])){ // abre if()
 
// archivo temporal (ruta y nombre). 
$binario_nombre_temporal=$_FILES['archivo']['tmp_name'] ; 

// leer del archvio temporal .. el binario subido. 
// "rb" para Windows .. Linux parece q con "r" sobra ... 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal))); 

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo. 
$binario_nombre=$_FILES['archivo']['name']; 
$binario_peso=$_FILES['archivo']['size']; 
$binario_tipo=$_FILES['archivo']['type']; 
}
// cierra if() 
No sé si haces una consulta SQL a una tabla para el archivo+tus otros datos o tienes una tabla exclusiva para los archivos y otra para tus datos . en tal caso ejecuta el query bien fuera de ese if() .. o si usas un query para el archivo sólo .. usalo dentro del mismo.

Te recomiendo leer algún tutorial de PHP (en las FAQ's de este foro)

Un saludo,
  #180 (permalink)  
Antiguo 28/10/2004, 10:33
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 20 años, 5 meses
Puntos: 0
Aparte de todo, y viendo el hilo de este tema. ¿No debería hacerse una clase de esta función?
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 44 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 03:53.