Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2006
BlackFreD BlackFreD is offline
Registrado
 
Registrado: may 2006
Posts: 9
Poder: 0
BlackFreD Va por buen camino
Gines, estoy muy interesado en este tema ya que es justo lo que necesito hacer para uno de mis proyectos.

Estoy trabajando con MS SQL Server + PHP y hasta ahora tenia un directorio con permisos para usuarios anonimos donde subia las imagenes y las usaba. Pero ahroa me interesa guardar las imagenes en la bdd. Al igual que tu, ando un poco desesperado. He encontrado mucha info acerca de MySQL + PHP, pero en cuanto a SQL Server apenas encuentro nada. Se que hay que tener el formato de registro en binary en lugar de image y que hay que pasar la imagen a binario para guardarla.

Para visualizarla hay que cambiar el header antes de hacer el echo pero tampoco me funciona... Estoy en pruebas.

Quisiera saber si al fin lo lograste?

Muchas gracias!
Responder Con Cita
  #2  
Antiguo 31-05-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Yo utilizao MySql y resuelvo ese problema simplemente con la función "addslashes" aplicada a contenido de la imagen.

El segundo tema, el que no te funcione el mostrar la imagen, es posible que sea por el echo de utilizar la función "convert", pienso yo, si has realizado una conversión para guardar supongo que para mostrar el contenido tendrás que hacer el paso contrario.

Prueba usar "addslashes" en vez de "convert" a ver si se soluciona el problema.

PD. "addslashes" es una función de PHP.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente

Última edición por kayetano fecha: 31-05-2006 a las 17:30:25.
Responder Con Cita
  #3  
Antiguo 01-06-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
¿Pero porque debe estar la imagen exactamente en la base de datos?, no sería mas fácil (además de ahorrarnos tiempo en la consulta) si solo guardamos la ubicación de la imagen en la base de datos, tomamos este dato con php y llamamos a la imagen despues de esto.

En general los servicios de hospedaje tienen una cantidad un tanto pequeña para las bases de datos, mientras que es todo lo contrario con el espacio en disco que ofrecen, ademas si el servidor de bd está en un equipo distinto al del servidor web, estará tardando mas tiempo en la consulta.

Saludos.
Responder Con Cita
  #4  
Antiguo 01-06-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Cita:
Empezado por D-MO
¿Pero porque debe estar la imagen exactamente en la base de datos?, no sería mas fácil (además de ahorrarnos tiempo en la consulta) si solo guardamos la ubicación de la imagen en la base de datos, tomamos este dato con php y llamamos a la imagen despues de esto.
Razón tienes, yo cuando trabajo con muchas imágenes utilizo esta opción para na saturar la BBDD.

Pero gines no ha preguntado eso, y yo intento solucionar el problema en concreto, porque puede tener sus razones para hacerlo asín y oye saber algu nuevo nunca biene mal y puede servir en otras situaciones.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
  #5  
Antiguo 01-06-2006
BlackFreD BlackFreD is offline
Registrado
 
Registrado: may 2006
Posts: 9
Poder: 0
BlackFreD Va por buen camino
En mi caso en concreto, el espacio utilizado por la web y sus ficheros es un espacio un tanto delicado, con alto nivel de seguridad y demás. No soy el administrador, sino uno de los empleados y se me ha pedido que los usuarios puedan subir imagenes (para noticias) de un determinado tamaño y resolución. Entonces, una opción sería generar una carpeta que tuviera permisos para usuarios anónimos aunque la segunda opción fue que las propias imagenes se almacenaran en la bdd. El administrador digamos que me recomendó (por no decir obligó) a la segunda...

El número de imagenes es muy pequeño dado que no se publican muchas noticias y no todas ellas tienen imagenes...

Gracias por todo, probaré lo dicho y os mantengo informados!

Ciao!
Responder Con Cita
  #6  
Antiguo 01-06-2006
BlackFreD BlackFreD is offline
Registrado
 
Registrado: may 2006
Posts: 9
Poder: 0
BlackFreD Va por buen camino
He seguido haciendo pruebas y no consigo nada.

El codigo del formulario es el siguiente:

Código PHP:
<form enctype="multipart/form-data" action=" <?PHP echo "alta_noticia.php?" SID;  ?>" method=post>
...
<table>
  <tr>
    <td valign="top"><input type="hidden" name="MAX_FILE_SIZE" value="1000"><span class="Estilo1">Imagen: </span></td>
    <td><input name="form_image_file" type="file" id="form_image_file"></td>
  </tr>
</table>
...
</form>
El codigo php es el siguiente:
Código PHP:
$usr_file_name $_FILES["form_image_file"]["tmp_name"]; 
$usr_file $_FILES["form_image_file"]["name"]; 
$usr_file_size $_FILES["form_image_file"]["size"]; 
$usr_file_type $_FILES["form_image_file"]["type"]; 
                                
echo 
"Info del fichero -> FileName: " $usr_file_name " File: " $usr_file " FileSize: " $usr_file_size " FileType: " $usr_file_type;

if (
$usr_file_name != "none")
{                                            
  
$fp fopen($usr_file_name"rb");
  
$img2save fread($fp$usr_file_size);
  
$img2save addslashes($img2save);
  
fclose($fp);

Conecto a la bdd y la actualizo:

$result = mssql_query("INSERT INTO Noticias (DataPubli,DataDel,Tit,Res,Desc,Img,Link) VALUES ('" . $data2publi . "','" . $data2del . "','" . $form_tit_new . "','" . $form_res_new . "','" . $form_desc_new . "','" . convert(binary, '$img2save') . "','" . $form_link_new . "')");


Cuando miro el echo de la url php me devuelve:

Info del fichero -> FileName: File: FicheroPrueba.jpg FileSize: 0 FileType:

Como podéis ver no me devuelve el nombre del fichero temporal, ni el tamaño ni el tipo mime....

No se que debo de estar haciendo mal.

Si tenéis alguna idea os lo agradeceré!

Muchas gracias!

Última edición por kayetano fecha: 01-06-2006 a las 14:55:44.
Responder Con Cita
  #7  
Antiguo 01-06-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola
Cita:
Empezado por BlackFreD
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Lo primero y mas importante, ¿sabes que estas limitando el tamaño del archivo? ¿Que tamaño tiene el archivo que estas subiendo?

Cita:
Empezado por BlackFreD
echo "Info del fichero -> FileName: " . $usr_file_name . " File: " . $usr_file . " FileSize: " . $usr_file_size . " FileType: " . $usr_file_type;
Segundo, la info que estas mostrando es incompleta, prueba simplemente a poner
Código PHP:
print_r$_FILES 
He realizado una prueba rápida y parece que funciona, claro esta siempre y cuando subas un archivo de menos de 10Kb.

Quita el CONVERT de la consulta con el ADDSLASHES debe sobrar.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente

Última edición por kayetano fecha: 01-06-2006 a las 13:42:09.
Responder Con Cita
  #8  
Antiguo 01-06-2006
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 22
D-MO Va por buen camino
Cita:
Empezado por kayetano
...y oye saber algu nuevo nunca biene mal y puede servir en otras situaciones.
Pues nunca he querido decir eso, se que nunca cae mal aprender algo nuevo (y yo necesito aprender mucho), simplemente di mi punto de vista por si a BlackFreD le parece pueda tomarlo en cuenta.

Saludos.

Última edición por D-MO fecha: 01-06-2006 a las 16:55:19.
Responder Con Cita
  #9  
Antiguo 01-06-2006
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 24
kayetano Va por buen camino
Hola

Cita:
Empezado por D-MO
Pues nunca he querido decir eso, se que nunca cae mal aprender algo nuevo (y yo necesito aprender mucho), simplemente di mi punto de vista por si a BlackFreD le parece pueda tomarlo en cuenta.
No pasa nada D-MO, lo que ocurre es que yo llevo muchos años con el tema de web y luchando con los administradores de muchos servidores y me ha pasado lo que a BlackFreD en varias ocasiones, ya sea por temas de seguridad, por temas de espacio, para que los usuarios no metan la zarpa con el ftp, por que al administrador del sistema le pasa por las pelotas, ... siempre hay una escusa para meter las fotos en la base de datos.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente

Última edición por kayetano fecha: 02-06-2006 a las 10:41:40.
Responder Con Cita
  #10  
Antiguo 02-06-2006
BlackFreD BlackFreD is offline
Registrado
 
Registrado: may 2006
Posts: 9
Poder: 0
BlackFreD Va por buen camino
Que suerte haber encontrado este foro!!!! En breve pruebo esto y os cuento que tal me ha ido!

Muchas gracias por todo!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:15:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi