Guardando Archivos en la Base de datos PHP & MS Server
Muchos sabemos como realizar el guardado de imagenes y archivos en bases de datos mysql por medio de un campo blob, pero alguna ves lo hemos echo
en sql server por medio de PHP bueno a continuacion les mostrare la forma como se puede hacer
Codigo 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['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 = mssql_connect("xcl-it08","sa","") or die("No se pudo realizar la conexion con el servidor.");
mssql_select_db("clientesdb",$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 = base64_encode(addslashes(file_get_content($binario_nombre_temporal, "rb"));
// 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 (archivo_binario, archivo_nombre, archivo_peso, archivo_tipo) VALUES ('".$binario_contenido."', '".$binario_nombre."', '".$binario_peso."', '".$binario_tipo."')";
mssql_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;
?>
Estructura de la base de datos
CREATE TABLE [archivos] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[archivo_binario] [image] NULL ,
[archivo_nombre] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[archivo_peso] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
[archivo_tipo] [varchar] (50) COLLATE Modern_Spanish_CI_AS NULL ,
CONSTRAINT [PK_archivos] PRIMARY KEY CLUSTERED
(
[id]
) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
este script no ha sido testiado porfavor disculpa las molestias causadas
Origen : webtaller.com
No Todos se lo podemos responder desde los comentarios, para cualquier duda o sugerencia los invitamos tambien a usar el FORO y las REDES Sociales, Saludos a Todos