Subir archivos a base de datos desde mi web por Jhonny Gutierrez

Tengo dudas de como hacer que un archivo se cargue desde mi web a mi base de datos, uso dreamweaber con plantillas php y xampp esto es parte del codigo que tengo para guardar el archivo.

<?php
$carpeta = “Archivos/;
$formatos = array (.docx’,.doc’,.pdf’);
if( isset($_POST[“Cedula”]) && ($_POST[“Enviar”])){
$cedula = $_POST[“Cedula”];
$nombre = $_POST[“Nombre”];
$apellido = $_POST[“Apellido”];
$Mail = $_POST[Mail];
$Direccion = $_POST[“Direccion”];
$Telefono = $_POST[“Telefono”];
$CodEstatus = $_POST[“cmdEstadoCivil”];
$CodDepartamento = $_POST[“cmdDepartamento”];
 
$nombreArch = $_FILES[‘Curriculum’][‘name’];
 
$tipo = substr ($nombreArch, strrpos($nombreArch,.));
if (in_array($tipo,$formatos)){
opendir($carpeta);
$destino = $carpeta.$_FILES[‘Curriculum’][‘name’];
copy ($_FILES[‘Curriculum’][‘tmp_name’],$destino);
echo “Archivo subido exitosamente”;
$nombreArch = $_FILES[‘Curriculum’][‘name’];
}else{
echo(“Arhivo no se cargo correctamente”);
}
 
$mysqli = conectarse();
 
$sql= “Call sp_solicitudEmpleo (‘”.$cedula.”‘,'”.$nombre.”‘,'.$apellido.”‘,’IFNULL(‘”.$Mail.”‘,NULL),’IFNULL(‘”.$Direccion.”‘,NULL),'”.$Telefono.”‘,IFNULL(“. $CodEstatus .”,’NULL’),”. $CodDepartamento .”,’INSERTAR’)”;
 
mysqli_query($mysqli,$sql);
 
echo “<br/><br/><div class=”>Se guardo correctamente!</div>”;
echo “$cedula, $nombre, $apellido, $Mail, $Direccion, $Telefono, $CodEstatus, $CodDepartamento”;
}
else
{
echo “No se encontro ninguna variable.”;
}
?>

Con esto logro hacer que el archivo se copie de una hubicacion a otra desde mi web, se copia en una carpeta de nombre archivo en la raiz de mi sitio, pero como deberia ser la tabla (campos, tipo de dato) para guardar el archivo en una base de datos.

Agradesco tu atención y ayuda de antemano.

Respondiendo a tu pregunta:

Saludos Jhonny, de hecho lo que yo recomiendo por cuestiones de movilidad, transparencia y carga al servidor es subir los archivos del cliente a una carpeta en el servidor y lo que guardas en tu tabla es una cadena de texto con la ruta y nombre del archivo que acabas de subir.

De igual forma si lo deseas guardar en tu base de datos, es un poco más complicado pues tienes primero que transformar el archivo a bits (Tipo de datos que también debe tener la columna de tu tabla) y posteriormente insertarlo esos bits a tu tabla.

De igual forma para recuperar el archivo tienes que crear un procedimiento que convierta ese archivo nuevamente al tipo correspondiente para mostrarlo.

Todo lo anterior ejerce más peso sobre tu servidor My Sql y hace un poco más lento el proceso por ello nuevamente te recomiendo sigas trabajando como hasta ahora, lo único que detalla un poco la carpeta hacia donde subirás el archivo.

Suscribir
Notificar a
guest
3 Comentarios
Comentarios en línea
Ver todos los comentarios
Jhonny Gutierrez

Buenas Noches!

Espero se encuentre bien, hace rato que no me comunico con usted, quisiera preguntarle si ya no esta dando clases en la UNI, lo que pasa es que actualmente busco un buen curso de asp.net.

Saludos cordiales.

Jhonny Gutiérrez

Ya veo, si de hecho me inscribi en uno que se apertura este sabado 28/01/2017 en la UNI, el nombre del curso es Programación Web con ASP.Net MVC5 espero que el curso sea tan bueno como el que recibi de PHP.

Por eso queria saber si estabas dando clases. Pero bien voy a probar gracias por contestar.

Saludos y exito.