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. De nada, me gusto poder compartir mis pobres conocimientos sobre php... lo que he aprendido sobre el tema trato de trasmitirlo. Debido a que de ...

  #421 (permalink)  
Antiguo 15/05/2008, 08:48
(Desactivado)
 
Fecha de Ingreso: enero-2008
Ubicación: Mendoza
Mensajes: 458
Antigüedad: 16 años, 9 meses
Puntos: 2
De acuerdo Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

De nada, me gusto poder compartir mis pobres conocimientos sobre php...

lo que he aprendido sobre el tema trato de trasmitirlo. Debido a que de novato paso a intermedio, y se lo que es estar empezando con PHP y no tener quien nos enseñe...

En vez de agraderme... agradece al ww.forosdelweb.com que ellos hacen posible esto..

Saludos
  #422 (permalink)  
Antiguo 15/05/2008, 09:35
 
Fecha de Ingreso: octubre-2006
Mensajes: 21
Antigüedad: 18 años
Puntos: 1
Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Si tienes razon, gracias a forosdelweb muchas personas que empezamos con php y los que no tambien pues podemos compartir todo tipo de conocimiento por aca y salir de dudas .

Gracias muchachos!!!

Saludos cmarrero
  #423 (permalink)  
Antiguo 02/08/2008, 12:01
Avatar de Gious  
Fecha de Ingreso: septiembre-2006
Mensajes: 122
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

hola saludos a todos.....

Cluster....
ya probé tu código y la verdad funciona con el ver.php pero quiero utilizar el ver.thumbnail.php, este archivo lo debo de llamar en esta linea...
Código PHP:
echo "<img src=\"ver.php?id=".$registro['id']."\">"
lo llamo en esta linea y no me muestra las imagenes, los datos de las imágenes si.
utilizo wamp5.
ya active la libreria ;extension=php_gd2.dll, quitandole el; pero aun asi no me muestra las imagenes, que debo de cambiar para que me pueda mostrar las images, si activo la librería de cambiar estas lineas de código
Código PHP:
Se crea la mascara de la imagen nueva
    $dst_img 
imagecreate($new_w,$new_h);

    
// Se copia y reajusta el nuevo tamaño en la nueva imagen.
    
imagecopyresized($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img)); 
por estas
Código PHP:
// Se crea la mascara de la imagen nueva
    
$dst_img ImageCreateTrueColor($new_w,$new_h);

// Se copia y reajusta el nuevo tamaño en la nueva imagen.
     
imagecopyresampled($dst_img,$img,0,0,0,0,$new_w,$new_h,imagesx($img),imagesy($img)); 
o la debo de dejar igual....
gracias por tu ayuda.... saludos a todos.
__________________
El futuro es hoy Aprende Linux. Guadalinex,
  #424 (permalink)  
Antiguo 28/08/2008, 18:39
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Bunas alguien podra ayuadarme es que no entido esta parte del codigo anterior para almacenar imagenes una base de datos y quisiera su ayuda..

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
  #425 (permalink)  
Antiguo 30/08/2008, 12:08
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola A Todos.....Bueno, yo tengo una duda, yo tengo un sistema de usuarios y quiero que cuando suban su foto se guarde directamente a la base de datos, pero la mia es distinta la que ustedes usan, porque ustedes usan una base de datos para insertarla en una tabla, pero donde yo quiero insertar el dato, esta en una segunda tabla, es decir, la base de datos, una tabla, y dentro de esa tabla esta la otra donde voy a insertar el dato. Ahora bien yo deseo insertar a esa tabla, en el campo que dice avatar, la url del archivo subido por el upload, y estoy usando los siquientes codigos.

Creo un formulario llamado formulario.php

<form enctype="multipart/form-data" action="cargando.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Subir esta imagen: <input name="imagen" type="file">
<input type="submit" name='submit' value="Subir Fichero">
</form>

luego uni en la segunda pagina, el scritp que sube la foto, con el del amigo que quedaria :
cargarndo.php


<?php
if(isset($submit)){
if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
//nuevo nombre para la imagen
$nuevoNombre = time().".jpg";
//movemos la imagen
move_uploaded_file($_FILES['imagen']['tmp_name'], "fotografias/$nuevoNombre");
//obtenemos la inforamción
$data = GetImageSize("fotografias/$nuevoNombre");
//mensaje de éxito
echo "<img src='fotografias/$nuevoNombre' $data[3]> <br> imagen $nuevoNombre subida con éxito";
}else{
echo "Formato no válido para fichero de imagen";
}
} else {
echo "Error al cargar imagen: " . $_FILES['imagen']['name'];
}
}

//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre. Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
//establece una conexión con la base de datos.
// acá iba la condición para ver si se habia subido un archivo de lo contrario te regresaba al formulario, esta la borre.

$localhost= "localhost";
$usuario= "miusuario";
$contrasena= "mipass";
$db="enmaracay_archivos";
$conexion = mysql_connect("$localhost","$usuario","$contrasena ");
mysql_select_db("$db",$conexion) or die("No se puede seleccionar BD");
// a continuación puse la otra condición que me recomentaste
if (!empty($_FILES['archivo']['name'])){
// 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))); //linea 19

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tamaño y tipo.


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

//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO archivos (id, avatar, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: index.php"); // (linea 31) si ha ido todo bien
exit;

}
//fin de la condición y empieza el caso contrario
else {

$consulta_insertar = "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: index.php"); // si ha ido todo bien
exit;
}
?>

Yo lo hice usando la base de datos que dieron y carga la imagen perfectamente, pero yo quiero cambiar los datos que inseta, aunque no me inserto ninguno, no quiero ni peso, ni tipo, solo que guarde la direccion url de la foto en la base de datos, y me sale arriba la imagen y diciendome que la cargue bien, pero mas abajo esto :

Warning: Cannot modify header information - headers already sent by (output started at /home/enmaraca/public_html/22.php:13) in /home/enmaraca/public_html/22.php on line 61


Me podran Ayudar?
  #426 (permalink)  
Antiguo 30/08/2008, 18:22
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 17 años, 1 mes
Puntos: 101
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

El error dice esta en la linea 61 del archivo 22.php.
Deve ser porque tienes un echo o print o alguna escritura antes que el headers.
En los faq, vi un tutorial decomo evitar eso.
Suerte
Salu2
__________________
Half Music - www.halfmusic.com
  #427 (permalink)  
Antiguo 04/09/2008, 16:24
Avatar de pato12  
Fecha de Ingreso: septiembre-2007
Ubicación: Salta
Mensajes: 1.620
Antigüedad: 17 años, 1 mes
Puntos: 101
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola,
Tome el mismo codigo, lo modifique y lo subi en un zip.
La descarga esta aqui:
Tiene muchas mejoras y mucho mas facil.
Gracias
Salu2
__________________
Half Music - www.halfmusic.com

Última edición por pato12; 06/09/2008 a las 19:34 Razón: Modifique el url
  #428 (permalink)  
Antiguo 10/09/2008, 16:17
euc
 
Fecha de Ingreso: septiembre-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola Cluster!!

Tomando el codigo y adaptandolo
e logrado guardar las imagenes
en la base de datos.

Pero tengo un problema cuando ejecuto
el script de listar_imagenes.php, ya que
me mustra todos los datos de la imagen
esepto la imagen. Tal parece que no esta
ejecutando el script de ver.php.

Como le puedo hacer para llamar el script ver?
  #429 (permalink)  
Antiguo 27/09/2008, 19:45
 
Fecha de Ingreso: marzo-2007
Mensajes: 302
Antigüedad: 17 años, 8 meses
Puntos: 2
Pregunta Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

He logrado guardar los archivos en la base de datos (son .doc , porque son curriculums). Ahora una vez guardado el codigo binario en la base, como hago para poder ver el archivo, es decir como hago una lista de todos los cv almacenados en la base y poder abrirlos??? gracias
  #430 (permalink)  
Antiguo 13/10/2008, 01:36
 
Fecha de Ingreso: mayo-2005
Mensajes: 26
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binari

Cita:
Iniciado por Calisco Ver Mensaje
Bueno ... como muchos otros usuarios; copie el código y le di para adelante. Veo que al final del primer post (donde se publica este código) hay correcciones (creo que dos) con sus correspondientes fechas y comentarios.
Y ... como muchos otros usuarios, no podía ver las imágenes publicadas ni por listar_imagenes.php ni por ver.php. Lógico, si no anda ver.php no anda listar... aparecian las tan sitadas cruces.

Leí hasta la pagina 5 de todo este post, tratando de no ser un gil mas de la lista, pero no pude encontrar una solución a mi problema. Unos decían que era problema del servidor, otro un problema de los headers ... yo no podía encontrar la maldita falla.

Y es que, a mi parecer, en ver.php hay un error. La sentencia de búsqueda MySql $sql especifica los campos archivo_binario, nombre_archivo y archivo_peso:
Código PHP:
$sql "SELECT archivo_mombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'"
sin embargo ... mas abajo se asigna a $peso el valor arrojado por la búsqueda con mysql_result con el parametro ['archivo_peso'].
Código PHP:
$peso mysql_result($consulta,0,"archivo_peso"); 
Si replanteamos la búsqueda con
Código PHP:
$sql "SELECT * FROM archivos WHERE id='".$_GET['id']."'"
la cosa funciona de maravillas, por lo menos, a mi.

No entiendo como este código le puede haber funcionado a la mayoría.
No se que tengo en mi configuración de mi servidor que hacer que esto a mi no me funcione.
Lean esto, es la solucion, muchisimas gracias!!!!!!!!!!!!!
  #431 (permalink)  
Antiguo 14/10/2008, 18:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Respuesta: Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binari

Cita:
Iniciado por Calisco Ver Mensaje
Bueno ... como muchos otros usuarios; copie el código y le di para adelante. Veo que al final del primer post (donde se publica este código) hay correcciones (creo que dos) con sus correspondientes fechas y comentarios.
Y ... como muchos otros usuarios, no podía ver las imágenes publicadas ni por listar_imagenes.php ni por ver.php. Lógico, si no anda ver.php no anda listar... aparecian las tan sitadas cruces.

Leí hasta la pagina 5 de todo este post, tratando de no ser un gil mas de la lista, pero no pude encontrar una solución a mi problema. Unos decían que era problema del servidor, otro un problema de los headers ... yo no podía encontrar la maldita falla.

Y es que, a mi parecer, en ver.php hay un error. La sentencia de búsqueda MySql $sql especifica los campos archivo_binario, nombre_archivo y archivo_peso:
Código PHP:
$sql "SELECT archivo_nombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'"
sin embargo ... mas abajo se asigna a $peso el valor arrojado por la búsqueda con mysql_result con el parametro ['archivo_peso'].
Código PHP:
$peso mysql_result($consulta,0,"archivo_peso"); 
Si replanteamos la búsqueda con
Código PHP:
$sql "SELECT * FROM archivos WHERE id='".$_GET['id']."'"
la cosa funciona de maravillas, por lo menos, a mi.

No entiendo como este código le puede haber funcionado a la mayoría.
No se que tengo en mi configuración de mi servidor que hacer que esto a mi no me funcione.
Realmente ahora me dí cuenta .. (he estado mucho tiempo fuera del foro, disculpen ante todo).

El problema principal no es la asignación de un "mysql_result()" a $peso .. o llamar a todos los campos de la tabla en la consulta SQL usando el "comodín/wildcard" (*) sino que por error/omisión en su momento me dejé el campo "archivo_peso" en la sentencia SQL.

En resumen:

ver_imagen.php

Código PHP:
$sql "SELECT archivo_nombre,archivo_binario,archivo_tipo FROM archivos WHERE id='".$_GET['id']."'"
Le falta el campo "archivo_peso". quedando:

Código PHP:
$sql "SELECT archivo_nombre,archivo_binario,archivo_tipo,archivo_peso FROM archivos WHERE id='".$_GET['id']."'"
Hay mucha gente que hace sus modificaciones a este script base .. dejando de usar "mysql_result()" y usando los típicos mysql_fetch_array() o xxx_row() ... etc. Por otro lado el hecho de que no se obtenga el peso del archivo binario afecta directamente a la composición de la cabecera HTTP y por ende a como se genera el archivo (imagen en este caso) cara al navegador de turno. No sé realmente como se comportaran todos los navegadores si se le indica un dato a transmitir de "cero bytes".

Corregí el código original con la respectiva nota de actualización. Gracias a este mensaje y una reciente cita al tuyo me dí "cuenta" del problema principal.

Un saludo,

PD: Gracias zetluis por reportar el problema archivo_mombre -> archivo_nombre en ver.php
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 03/12/2008 a las 12:47
  #432 (permalink)  
Antiguo 01/12/2008, 13:55
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binari

Bueno, necesitaba el codigo para implementarlo a un proyecto escolar
pero cuando corria el codigo, insertaba las imagenes pero no mostraba nada y leyendo el ultimo post me di cuenta q en

ver.php tiene este codigo
$sql = "SELECT archivo_MOMBRE,archivo_binario,archivo_tipo,archiv o_peso FROM archivos WHERE id='".$_GET['id']."'";

y no se ven las imagenes el unico error q le vi es q el campo ARCHIVO_MOMBRE es ARCHIVO_NOMBRE con N y no com M

Espero q les sirva a otros con apuros como yo

GRACIAS A CLUSTER POR ESTA AYUDA....
  #433 (permalink)  
Antiguo 02/12/2008, 09:27
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

mmm Bueeno... disculpen, pero me gustaria volvieran a subir el archivo, pues ingreso en http://www.4shared.com/file/61843192...ified=4c0ed907 y me dice que el archivo no existe o esta borrado
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #434 (permalink)  
Antiguo 12/12/2008, 05:29
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Muchas gracias a todos.. la verdad hace dias que estoy luchando para guardar imagenes en la base de datos y mostrarlas correctamente.. pero me estaba bastante liada..

jejejej gracias de nuevo
besos
  #435 (permalink)  
Antiguo 13/12/2008, 10:56
Avatar de softmaster  
Fecha de Ingreso: diciembre-2008
Mensajes: 230
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Cluster de nuevo muchas gracias por el tutorial..

Tengo un problemita al validar el archivo a subir.. yo le agregue unos datos mas al formulario para saber otros datos.. me funciona todo.. solo que no logro validar el tipo de archivo y tamaño a subir del archivo, yo solo necesito que se suban fotos a la base de datos por ejemplo .jpg, .gif, .png y un tamaño maximo de 300 kb.

El tema es que yo estoy validando todos los otros datos del formulario del lado del cliente no del servidor y la verdad estoy bastante confundida..

Se puede llegar a validar el tipo de formato y peso de la imagen a subir a la base de datos.. pero del lado del usuario ??? y como seria ya que no se mucho de php.. estoy empezando.

Con esto valido:

<script>
function valida_envia(){
//valido el titulo
if (document.add.titulo.value.length==0){
alert("Tiene que escribir un titulo")
document.add.titulo.focus()
return 0;
}

//valido descripcion
if (document.add.descripcion.value.length==0){
alert("Tiene que escribir una descripcion")
document.add.descripcion.focus()
return 0;
}

//valido tags
if (document.add.tag.value.length==0){
alert("Tiene que detallar al menos 1 tag")
document.add.tag.focus()
return 0;
}

//valido categoria
if (document.add.categoria.value.length==0){
alert("Tiene que detallar la categoria")
document.add.categoria.focus()
return 0;
}
//valido el pais
if (document.add.pais.selectedIndex==0){
alert("Debe seleccionar un pais.")
document.add.pais.focus()
return 0;
}

//valido el estado
if (document.add.estados.selectedIndex==0){
alert("Debe seleccionar un estado.")
document.add.estados.focus()
return 0;
}
//el formulario se envia
alert("Datos enviados... ");
document.add.submit();
}
</script>




Este es mi form:

<FORM name="add" enctype="multipart/form-data" method="post" action="insertar.php">
<table width="613" border="0" align="center">
<tr>
<td width="123" valign="top"><div align="left">Titulo*</div></td>
<td width="480"><INPUT name="titulo" type="text" id="titulo" value="" size="80" />
</div></td>
</tr>
<tr>
<td valign="top"><div align="left">Descripcion*</div></td>
<td><textarea name="descripcion" cols="61" rows="10" id="descripcion"></textarea></td>
</tr>
<tr>
<td valign="top"><div align="left">Tags*</div></td>
<td><INPUT name="tag" type="text" id="tag" value="" size="80" /></td>
</tr>
<tr>
<td valign="top"><div align="left">Categoria*</div></td>
<td><INPUT name="categoria" type="text" id="categoria" value="" size="32" /></td>
</tr>
<tr>
<td valign="top"><div align="left">Formas de contacto</div></td>
<td><textarea name="forma_contacto" cols="61" rows="3"></textarea></td>
</tr>
<tr>
<td valign="top"><div align="left">Url</div></td>
<td><INPUT type="text" name="url" value="" size="50" /></td>
</tr>
<tr>
<td valign="top"><div align="left">Pais*</div></td>
<td>
<?php generaPaises(); ?>
</td>
</tr>
<tr>
<td valign="top"><div align="left">Estado*</div></td>
<td><select disabled="disabled" name="estados" id="estados">
<option value="0">Selecciona opci&oacute;n...</option>
</select></td>
</tr>
<tr>
<td valign="top"><div align="left">Ciudad</div></td>
<td><INPUT name="ciudad" type="text" id="ciudad" size="32"></td>
</tr>
<tr>
<td valign="top"><div align="left">Foto</div></td>
<td><INPUT type="file" name="archivo" size="50"></td>
</tr>

<tr>
<td valign="top"><div align="left">Email</div></td>
<td><INPUT name="email" type="text" id="email" value="" size="50" /></td>
</tr>
<tr>
<td valign="top"><div align="left">ok</div></td>
<td><INPUT type="button" name="button" value="Anunciar" onclick="valida_envia()"></td>
</tr>
</table>
</FORM>



BUeno desde ya muchas gracias "!!!!
  #436 (permalink)  
Antiguo 09/01/2009, 20:31
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Re: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binari

Cita:
Iniciado por Raules Ver Mensaje
En el caso que surja la posibilidad de modificar la imagen subida, como se podría hacer?
Hola.. pues aqui mi pequeña aportación.. a ver si sirve..

Lo que hice primero fue agregar un campo al formulario para que identifique el id que quiero modificar

editalafoto.php
Código:
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="cambia.php">
<!-- Estas son las líneas que agregue-->
<p>número a modificar: 
    <label>
    <input name="id" type="text" id="id">
    </label>
<!-- Aqui terminan las líneas agregadas -->
Archivo: <INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
</BODY>
</HTML>
despues con base en insertar.php cree en archivo cambia.php

cambia.php

Código:
<?php
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","nombredetuusuario","password") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("nombredetubasededatos",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// 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, tamanio y tipo.
$binario_nombre=$_FILES['archivo']['name'];
$binario_peso=$_FILES['archivo']['size'];
$binario_tipo=$_FILES['archivo']['type'];

//cambiamos  los datos en la BD.
import_request_variables("P");
$consulta_insertar = "UPDATE archivos SET archivo_binario ='$binario_contenido', archivo_nombre = 'binario_nombre',  archivo_peso = '$binario_peso', archivo_tipo = '$binario_peso'  WHERE id='$id'";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php");  // si ha ido todo bien
exit;
?>
y ya eso fue todo.. espero se entienda.. Saludos!
  #437 (permalink)  
Antiguo 10/01/2009, 18:10
Avatar de JoseAlejandro_Realza  
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Muchas Gracias... y en el caso de que uno a la imagen la quiera redimencionar al guardarse a la carpeta de alojamiento?
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza
  #438 (permalink)  
Antiguo 10/01/2009, 23:05
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 20 años, 3 meses
Puntos: 102
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Cita:
Iniciado por JoseAlejandro_Realza Ver Mensaje
Muchas Gracias... y en el caso de que uno a la imagen la quiera redimencionar al guardarse a la carpeta de alojamiento?
Primero, eso está fuera de este tutorial; ni trata de subir físicamente los archivos (todo lo contrario) ni de el tratamiento específico de imágenes; tu pregunta no tiene logar aquí, por favor, crea un nuevo mensaje.

Por otro lado, antes de, busca en el foro. Es un tema ya tratado del que incluso creo recordar hay al menos una FAQ que muestra cómo hacerlo.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #439 (permalink)  
Antiguo 15/01/2009, 15:20
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Me registre solo para decir esto: En vez de la foto me mostraba simbolos ascii, no lograba nada hasta que note que si quitaba TODO lo que estaba al principio de la pagina antes de <?php la foto se veia perfectamente. Si no lo hacia asi, me decia que las cabeceras ya habian sido enviadas. Espero que esto le sirva a alguien.
  #440 (permalink)  
Antiguo 24/02/2009, 10:35
 
Fecha de Ingreso: enero-2009
Mensajes: 197
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

hola que tal, el codigo inicial solo me deja almecenar un solo archivo, como agrego mas imagenes a mi bd
  #441 (permalink)  
Antiguo 12/03/2009, 11:36
 
Fecha de Ingreso: marzo-2009
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Pues que creen?

Pues con la fortuna de que funciona perfectamente el codigo, hoy 12 de marzo de 2009,

solo que ocupo subir imagenes muy grandes al servidor,...

en el hosting pedi el file de php.ini y lo modifique como lo dijo CMARRERO, pero me siguen saliendo las imagenes cortadas, tratare de modificarlo de nuevo, aunque posiblemente no se como, hahaha, si alguien anda por ahi despues de tanto tiempo, gracias

Última edición por Fewks_United; 12/03/2009 a las 12:41
  #442 (permalink)  
Antiguo 16/03/2009, 20:39
 
Fecha de Ingreso: enero-2007
Ubicación: Argentina
Mensajes: 28
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola.

Me anduvo genial el tutorial y lo adapte justo a mis necesidades.

Lo unico, es que me gustaría limitar el peso del archivo a 1 MEGA.

Que debería agregarle al código para ello?

Muchas Gracias de antemano
  #443 (permalink)  
Antiguo 23/03/2009, 04:23
Avatar de ..::MaRcOs::..  
Fecha de Ingreso: diciembre-2006
Mensajes: 328
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Amigos este es un gran post... me ha servidor muchas veces
pero ahora necesito algo mas y no lo encuentro por ningun lado
asi mismo como se sube la imagen normal
quisiera subirla en otro campo de la tabla per
miniatura... q debo hacer?
  #444 (permalink)  
Antiguo 03/04/2009, 13:36
 
Fecha de Ingreso: mayo-2006
Mensajes: 1
Antigüedad: 18 años, 6 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Que tal? Tengo un problema al querer hacer funcionar este script. Soy novato en esto y el tema es que no me aparecen las imagenes cuando me abre el archivo "listar_imagenes.php". Aparece el icono de error en la carga de la imagen. Los datos de texto aparecen todos bien.

Les adjunto el codigo para que sepan mas o menos de qué les estoy hablando.

Codigo PHP

insertar.php

Código PHP:
<?php
//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['imagen']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion mysql_connect("localhost","user","password") or die ("no se ha podido conectar a la BD");
mysql_select_db("catalogo",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// archivo temporal (ruta y nombre).
$binario_nombre_temporal=$_FILES['imagen']['tmp_name'] ;
$Fcodigo=$_REQUEST['codigo'];
$Fmarca=$_REQUEST['marca'];
$Fmodelo=$_REQUEST['modelo'];
$Fmoneda=$_REQUEST['moneda'];
$Fvalor=$_REQUEST['valor'];

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

// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES['imagen']['name'];
$binario_peso=$_FILES['imagen']['size'];
$binario_tipo=$_FILES['imagen']['type'];

//insertamos los datos en la BD.
$consulta_insertar "INSERT INTO producto (id, img_binario, img_nombre, img_peso, img_tipo, codigo, marca, modelo, moneda, precio) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo', '$Fcodigo', '$Fmarca', '$Fmodelo', '$Fmoneda', '$Fprecio')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php");  // si ha ido todo bien
exit;
?>
listar_imagenes.php

Código PHP:
<?php
    mysql_connect
("localhost","user","password") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("catalogo") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT img_binario,img_nombre,img_peso,img_tipo,codigo,marca,modelo,moneda,precio FROM producto";
    
$consulta mysql_query($sql) or die ("No se pudo ejecutar la consulta");

    While (
$registro=mysql_fetch_assoc($consulta)){
        echo 
"<img src=\"ver.php?id=".$registro['id']."\">";
        echo 
"<br> Nombre archivo: ".$registro['img_nombre'];
        echo 
"<br> Tipo archivo (MIME formato): ".$registro['img_tipo'];
        echo 
"<br> Peso: ".$registro['img_peso']." bytes.<br>";
        echo 
"<br> Codigo: ".$registro['codigo']."<br>";
        echo 
"<br> Marca: ".$registro['marca']."<br>";
        echo 
"<br> Modelo: ".$registro['modelo']."<br>";                
        echo 
"<br> Moneda: ".$registro['moneda']."<br>";                        
        echo 
"<br> Precio: ".$registro['precio']."<br>";                                
    }

?>
ver.php

Código PHP:
<?php
if(isset($_GET['id'])) {

    
// you may have to modify login information for your database server:
    
$conexion=mysql_connect("localhost","user","password") or die ("no se ha podido conectar a la BD");

    
mysql_select_db("catalogo") or die ("no se ha podido seleccionar la BD");

    
$sql "SELECT img_binario,img_nombre,img_peso,img_tipo,codigo,marca,modelo,moneda,precio FROM producto WHERE id='".$_GET['id']."'";

    
$consulta mysql_query($sql,$conexion);

    
$datos mysql_result($consulta,0,"img_binario");
    
$tipo mysql_result($consulta,0,"img_tipo");
    
$nombre mysql_result($consulta,0,"img_nombre");
    
$peso mysql_result($consulta,0,"img_peso");

    
header("Content-type: $tipo");
    
header("Content-length: $peso"); 
    
header("Content-Disposition: inline; filename=$nombre"); 
 
   echo 
$datos;

}
?>

Agradezco mucho su ayuda, saludos!!

Gabriel
  #445 (permalink)  
Antiguo 02/06/2009, 08:06
 
Fecha de Ingreso: febrero-2008
Mensajes: 49
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola.

Antes de nada,Hay agradecer a todos vuestra ayuda ya que gracias a vosotros haceis posibles muchos proyectos, de verdad muchas gracias.

Por ultimo yo tengo la misma duda, el codigo va muy bien salvo que me cuando lista los registro de la bd las imagnes no aparecen y sale un icono rojo, agradeceria mucho la ayuda :)

Gracias a TODOS:)
  #446 (permalink)  
Antiguo 04/06/2009, 12:07
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 15 años, 5 meses
Puntos: 24
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

No estoy de acuerdo con un detalle, con respecto al uso de la variable $_FILES['archivo']['type'].
Esta variable corresponde al tipo mime que le asigna el navegador a la cabecera del archivo, y algunos navegadores no asignan las cabeceras correctas.
Me parece que sería mucho mejor comprobar el tipo de archivo una vez que esté en el servidor.

Por ejemplo:
Código PHP:
$finfo = new finfo(FILEINFO_MIME); 
$tipo $finfo->file($_FILES['archivo']['tmp_name']); 
  #447 (permalink)  
Antiguo 06/06/2009, 02:59
Avatar de hordasdelmal  
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Muy bueno el tuto, ya lo estoy usando, pero encontre un problema cuando abro la imagen con el Iexplorer... Las jpeg no se ven pero los gif si.
En el firefox se ven sin problemas las dos :S Que puede ser?

Saludos.

Última edición por hordasdelmal; 06/06/2009 a las 03:00 Razón: agregue info
  #448 (permalink)  
Antiguo 07/06/2009, 11:48
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 11 meses
Puntos: 0
hola a todos... antes que nada agradecer enormemente a todos aquellos que han ayudado en este notable post.. obviamente, por sobre todo al Sr.CLUSTER.. grande cluster !!

sin embargo, agradecería a quien o quienes comprendan todo (a diferencia de novatos como yo), creen un nuevo post o respuesta con la ACTUALIZACION de las observaciones que muchos han y hemos realizado, sobretodo, por ejemplo, por el problema de visualizacion final al llamar listar_imagen.php, pues a mi como a muchos al parecer, no me muestra las imágenes, y que don Calisco, ha descrito y al parecer solucionado (voy a probarlo hoy mismo jeje),...

gracias nuevamente a todos por sus aportes y tan notable tema.....
EXITOS !!

Estimados. en resumen, no es mejor simplemente colocar de una vez
$sql = "SELECT * FROM archivos WHERE id='".$_GET['id']."'";
en vez de en el select listar "algunos" campos ?

soy novato ... por lo que planteo esto mas como una consulta que como una apreciacion.

amigos. cargo una imagen a traves del formulario.php, pero cuando le doy "subir archivo", me aparece en el browser como cargando .. pero ahi queda

Última edición por GatorV; 07/06/2009 a las 12:47
  #449 (permalink)  
Antiguo 10/06/2009, 07:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 83
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

Hola a todos,

He seguido el tutorial para subir imágenes a la base de datos y ha ido todo como la seda! Perfecto!

Pero ahora se me plantea el suiguiente problema... Necesito además de un campo para subir imágenes unos cuantos más como campos de textos. He intentado adaptar este tutorial a mis necesidades para que me suba todo junto a la base de datos pero me ha sido imposible!
La imagen la quiero introducir dentro de una tabla que contiene varios registros a parte del binario, tipo, size y nombre y como id utilizo una general de la tabla para todos los registros.

Este es mi codigo del formulario:

Código PHP:
<?php
$conexion 
mysql_connect('localhost''''');
mysql_select_db('');
?>

<FORM enctype="multipart/form-data" method="post" action="form5.php">

<!-- Comienzo tabla 1 !-->

  <label>Tipo de vivienda:<br />
<select name="tipovivienda" id="tipovivienda">
  <option value="0">--Escoja tipo alquiler--</option>
  <?php
    $tablavivienda 
mysql_query("SELECT * FROM vivienda ORDER BY id ASC"); // Seleccionamos las ciudades de la tabla ciudades
    
while ($registrovivienda mysql_fetch_array($tablavivienda)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
        <option value="<?php echo $registrovivienda['id']; ?>"><?php echo $registrovivienda['tipo']; ?></option>
  <?php
    
// termina la zona de repeticion
    
mysql_free_result($tablavivienda); // se libera la memoria usada por la tabla
?>
</select>
    </label>
    <font color="red">(*)</font></p>
                                     <p>
    <label>Ciudad:<br />
      <select name="ciudad" id="ciudad">
        <option value="0">---Escoja la ciudad---</option>
        <?php
    $tablaciudades 
mysql_query("SELECT * FROM ciudades ORDER BY nombre ASC"); // Seleccionamos las ciudades de la tabla ciudades
    
while ($registrociudad mysql_fetch_array($tablaciudades)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla
?>
        <option value="<?php echo $registrociudad['id']; ?>"><?php echo $registrociudad['nombre']; ?></option>
<?php
    
// termina la zona de repeticion
    
mysql_free_result($tablaciudades); // se libera la memoria usada por la tabla
?>
      </select>
    <font color="red">(*)</font><br />
      <br />
      <label>Población / Zona:<br />
      <input name="poblacion" type="text" id="poblacion" size="21" maxlength="30" />
  <font color="red">(*)</font><br />
      <br /><label>
      <label>E-mail:<br />
<input name="email" type="text" id="email" size="21" maxlength="50" />
<font color=red>(*)</font></label>
<br />
<br />
<label>Teléfono:
<br />
<input name="telefono" type="text" id="telefono" size="21" maxlength="30" />
</label> 

<!-- Fin tabla 1 !-->

<br />
<br />
<label>Precio:<br />
  <input name="precio" type="text" id="precio" size="16" maxlength="20" />
</label>
</p>
                                     <p>
  <label>Metros Cuadrados:<br />
    <input name="m2" type="text" id="m2" size="16" maxlength="10" />
  </label>
  <br />
  <br />
  <label>Nº Habitaciones:
    <br />
    <input name="habitaciones" type="text" id="habitaciones" size="16" maxlength="2" />
  </label>
  <br />
  <br />
  <label>N&ordm; Ba&ntilde;os:
    <br />
    <input name="banos" type="text" id="banos" size="16" maxlength="2" />
  </label>
  </p>
  <p>
  <label>Segundamano
    <input name="estado" type="radio" id="estado_0" value="Segundamano" checked="checked" />
  </label>
  <label>Obra Nueva
    <input type="radio" name="estado" value="Obra Nueva" id="estado_1" />
  </label>
</p>
<label>Opci&oacute;n a Compra: Si
    <input name="opcion" type="radio" id="opcion_0" value="Si" checked="checked" />
  </label>
  <label>No
    <input type="radio" name="opcion" value="No" id="estado_1" />
  </label>
</p>
<p>
  <label>Particular
      <input name="cliente" type="radio" id="cliente_0" value="Particular" checked="checked" />
  </label>
  <label>Inmobiliaria
     <input type="radio" name="cliente" value="Inmobiliaria" id="cliente_1" />
  </label>
  </p>
<p>
  <label>Descripción Inmueble<br />
<textarea name="descripcion" id="descripcion" cols="40" rows="5"></textarea>
  </label>
</p>
<label>Archivo: <INPUT type="file" name="archivo" size="30">
</label>
  <p>
  <input type="submit" name="cmdBuscar" id="cmdBuscar" value="Enviar">
  </p>
  <p>&nbsp;</p>
</form>

<?php
mysql_close
($conexion); // Cierro la conexion con la base de datos
?>
Si pruebo a subir los campos de texto a la bae de datos no tengo problema, pero si intento introducir también la imagen siempre no consigo nada!!

Este es mi código php para subir el formulario a la base de datos:

Código PHP:
<?php

    
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
    
if(isset($_POST['tipovivienda']) && !empty($_POST['tipovivienda']) &&
    isset(
$_POST['ciudad']) && !empty($_POST['ciudad']) && isset($_POST['poblacion']) && !empty($_POST['poblacion']) && isset($_POST['email']) && !empty($_POST['email']) && isset($_POST['telefono']) && !empty($_POST['telefono']) && isset($_POST['precio']) && !empty($_POST['precio']) && isset($_POST['habitaciones']) && !empty($_POST['habitaciones']) && isset($_POST['banos']) && !empty($_POST['banos']) && isset($_POST['m2']) && !empty($_POST['m2']) && isset($_POST['cliente']) && !empty($_POST['cliente']) && isset($_POST['estado']) && !empty($_POST['estado']) && isset($_POST['opcion']) && !empty($_POST['opcion']) && isset($_POST['descripcion']) && !empty($_POST['descripcion'])) {


        
// Si entramos es que todo se ha realizado correctamente

        
$link mysql_connect("localhost","","");
        
mysql_select_db("",$link);

        
// Con esta sentencia SQL insertaremos los datos en la base de datos
        
mysql_query("INSERT INTO propiedades (idvivienda,idciudad,poblacion,email,telefono,precio,habitaciones,banos,m2,cliente,estado,opcion,descripcion)
        VALUES ('{$_POST['tipovivienda']}','{$_POST['ciudad']}','{$_POST['poblacion']}','{$_POST['email']}','{$_POST['telefono']}','{$_POST['precio']}','{$_POST['habitaciones']}','{$_POST['banos']}','{$_POST['m2']}','{$_POST['cliente']}','{$_POST['estado']}','{$_POST['opcion']}','{$_POST['descripcion']}')"
,$link);

        
// Ahora comprobaremos que todo ha ido correctamente
        
$my_error mysql_error($link);

        if(!empty(
$my_error)) {

            echo 
"Ha habido un error al insertar los valores. $my_error"

        } else {

            echo 
"Los datos han sido introducidos satisfactoriamente";

        }

    } else {

        echo 
"Error, no ha introducido todos los datos";

    }

?>
Este es el que intento adaptar pero no se que más probar ya... Lo he dejado limpio sin ningún tipo file para que lo veáis más claro.

Estaría eternemente agradecido si álguien me pudiese ayudar.

Gracias!
  #450 (permalink)  
Antiguo 07/08/2009, 15:09
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Tutorial ejemplo: Subir archivos a tu BD (guardando en la BD en binario)

hola a todos, soy demaciado nuevo en php y bueno aqui ando...trate de seguir las instrucciones del tutorial pero no puedo subir la imagen me dice:

No se pudo insertar los datos en la base de datos.

aqui les dejo lo que tengo

formulario.php
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET['proceso'])){
echo $_GET['proceso']."<br>";
}
?>
<FORM enctype="multipart/form-data" method="post" action="insertar.php">
Archivo: <INPUT type="file" name="archivo" size="30">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
</BODY>
</HTML>

insertar.php
<?php
// begin Dave B's Q&D file upload security code
$allowedExtensions = array("txt","csv","htm","html","xml",
"css","doc","xls","rtf","ppt","pdf","swf","flv","a vi",
"wmv","mov","jpg","jpeg","gif","png");
foreach ($_FILES as $file) {
if ($file['tmp_name'] > '') {
if (!in_array(end(explode(".",
strtolower($file['name']))),
$allowedExtensions)) {
die($file['name'].' is an invalid file type!<br/>'.
'<a href="javascript:history.go(-1);">'.
'&lt;&lt Go Back</a>');
}
}
}
// end Dave B's Q&D file upload security code

//Primero, arranca el bloque PHP y checkea si el archivo tiene nombre. Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES['archivo']['name'])){
header("location: formulario.php?proceso=falta_indicar_fichero"); //o como se llame el formulario ..
exit;
}

//establece una conexión con la base de datos.
$conexion = mysql_connect("localhost","root","david") or die("No se pudo realizar la conexion con el servidor.");
mysql_select_db("phpfacil",$conexion) or die("No se puede seleccionar BD"); // tu_bd es el nombre de la Base de datos .. por siaca.

// 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'];

//insertamos los datos en la BD.
$consulta_insertar = "INSERT INTO archivos (id, archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
mysql_query($consulta_insertar,$conexion) or die("No se pudo insertar los datos en la base de datos.");
header("location: listar_imagenes.php"); // si ha ido todo bien
exit;
?>


de antemano gracias....

pd. hice la bd en mysql tal cual dice el manual... =S
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 02:21.