Comunidad de diseño web y desarrollo en internet online

subir varios archivos con formulario a base de datos

Citar            
MensajeEscrito el 16 Ene 2017 09:18 pm
Actualmente en el formulario para agregar un alumno, pero solo puedo enviar un archivo por formulario, no se como hacerlo con varios archivos.

este es el codigo:

Código PHP :

if(isset($_POST['submit'])&& $_FILES['userfile']['size'] > 0) {
$nombre = mysqli_real_escape_string($conn, $_POST['nombre']);
$rtn = mysqli_real_escape_string($conn, $_POST['rtn']);
$tel = mysqli_real_escape_string($conn, $_POST['tel']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$direccion = mysqli_real_escape_string($conn, $_POST['direccion']);
$idnumero = mysqli_real_escape_string($conn, $_POST['idnumero']);
$factemp  = mysqli_real_escape_string($conn, $_POST['factemp']);
$incod11 = mysqli_real_escape_string($conn, $_POST['incod11']);

$fileName = $_FILES['userfile']['name'];
$tmpName  = $_FILES['userfile']['tmp_name'];
$fileSize = $_FILES['userfile']['size'];
$fileType = $_FILES['userfile']['type'];
$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
}

$sql = "INSERT INTO `dbacademia`.`cliente` (`Id_Cliente`, `IN_Cod11`, `Nombre_cliente`, `RTN_Cliente`, `Telefono_Cliente`, `Mail_cliente`, `Direccion_Cliente`, `Identidad_cliente`, `Id_numero`, `factura temporal`) VALUES ('$d', '$incod11', '$nombre', '$rtn', '$tel', '$email', '$direccion', '$content', '$idnumero', '1')";
$query = mysqli_query($conn,$sql);
if($query){
 echo "cliente agregado!";
}else{
echo "Error"."<br />".$sql.mysqli_error($conn);
}


pero la tabla de la base de datos tiene varios campos tipo blob, no logro poner más en el insert sin que el codigo php falle.

Por loml666

3 de clabLevel



Genero:Masculino  

diseñador programador

chrome
Citar            
MensajeEscrito el 17 Ene 2017 05:01 pm
A menos que sea estrictamente necesario, guardar archivos como campos BLOB es bastante ineficiente (y puede potencialmente generar mucho error) Lo mejor es crear un directorio usando un identificador unico (por ejemplo el id de la base de datos para la entrada del alumno) y dentro del directorio meter todos los archivos que el alumno suba

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome
Citar            
MensajeEscrito el 18 Ene 2017 02:43 pm
No lo puedo creer, entonces sólo guardo la ruta del directorio en la tabla? , porque quiero guardar documentos en word y pdf.

Por loml666

3 de clabLevel



Genero:Masculino  

diseñador programador

chrome
Citar            
MensajeEscrito el 18 Ene 2017 03:38 pm
Claro, zapatero a tu zapato. La base de datos guarda datos, y el sistema de ficheros archivos ... ¿porque usarlo para lo que no es? Yo habitualmente guardo solo el nombre del archivo en la BD, el path puede variar, por lo cual lo incluyo en mi lógica de negocios (el PHP que hace la consulta), luego lo recuperas del sistema de ficheros.

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.