Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda con codigo en php

Biohazar19

Bovino adicto
Desde
27 Ene 2009
Mensajes
609
Que hay corral miren soy principiante en php y he buscado en algunas paginas como permitir a mis usuarios subir y descargar documentos como pdf, imagenes.
de antemano gracias.
este es el codigo que tengo hasta ahora pero como le ago para que se guarde en mi base de datos en xampp y porterior mente aparesca en otra pagina y sean visibles para su descarga de antemano gracias :vientos:


Codigo:
PRIMERO EL FORMULARIO

<form name="formu" id="formu" action="upload.php" method="post" enctype="multipart/form-data">
<dl>
<dt><label>Archivos a Subir:</label></dt>
<!-- Esta div contendrá todos los campos file que creemos -->
<dd><div id="adjuntos">
<!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos
en el script -->
<input type="file" name="archivos[]" /><br />
</div></dd>
<dt><a href="#" onClick="addCampo()">Subir otro archivo</a></dt>
<dd><input type="submit" value="Enviar" id="envia" name="envia" /></dd>
</dl>
</form>
----------------------------------------------------------------------------------
y luego
EL JAVA SCRIP

<script type="text/javascript">
var numero = 0; //Esta es una variable de control para mantener nombres
//diferentes de cada campo creado dinamicamente.
evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado
return (!evt) ? event : evt;
}

//Aqui se hace lamagia... jejeje, esta funcion crea dinamicamente los nuevos campos file
addCampo = function () {
//Creamos un nuevo div para que contenga el nuevo campo
nDiv = document.createElement('div');
//con esto se establece la clase de la div
nDiv.className = 'archivo';
//este es el id de la div, aqui la utilidad de la variable numero
//nos permite darle un id unico
nDiv.id = 'file' + (++numero);
//creamos el input para el formulario:
nCampo = document.createElement('input');
//le damos un nombre, es importante que lo nombren como vector, pues todos los campos
//compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php
nCampo.name = 'archivos[]';
//Establecemos el tipo de campo
nCampo.type = 'file';
//Ahora creamos un link para poder eliminar un campo que ya no deseemos
a = document.createElement('a');
//El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla
a.name = nDiv.id;
//Este link no debe ir a ningun lado
a.href = '#';
//Establecemos que dispare esta funcion en click
a.onclick = elimCamp;
//Con esto ponemos el texto del link
a.innerHTML = 'Eliminar';
//Bien es el momento de integrar lo que hemos creado al documento,
//primero usamos la función appendChild para adicionar el campo file nuevo
nDiv.appendChild(nCampo);
//Adicionamos el Link
nDiv.appendChild(a);
//Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien
//con esta función obtenemos una referencia a ella para usar de nuevo appendChild
//y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación:
container = document.getElementById('adjuntos');
container.appendChild(nDiv);
}
//con esta función eliminamos el campo cuyo link de eliminación sea presionado
elimCamp = function (evt){
evt = evento(evt);
nCampo = rObj(evt);
div = document.getElementById(nCampo.name);
div.parentNode.removeChild(div);
}
//con esta función recuperamos una instancia del objeto que disparo el evento
rObj = function (evt) {
return evt.srcElement ? evt.srcElement : evt.target;
}
</script>
-----------------------------------------------------------------------------------

Y EL APARTADO PHP

<?php
//Preguntamos si nuetro arreglo 'archivos' fue definido
if (isset ($_FILES["archivos"])) {
//de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
//obtenemos la cantidad de elementos que tiene el arreglo archivos
$tot = count($_FILES["archivos"]["name"]);
//este for recorre el arreglo
for ($i = 0; $i < $tot; $i++){
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
//para trabajar con este
$tmp_name = $_FILES["archivos"]["tmp_name"][$i];
$name = $_FILES["archivos"]["name"][$i];
echo("<b>Archivo </b> $key ");
echo("<br />");
echo("<b>el nombre original:</b> ");
echo($name);
echo("<br />");
echo("<b>el nombre temporal:</b> \n");
echo($tmp_name);
echo("<br />");
}
}
?>
 
Compa aqui te dejo un link de donde podes descargar un programita que hace eso mismo que vos haces con tus scrips pero un poco mas robusto, mas completo, lo que debes de hacer es buscar las lineas donde se guarda el archivo y en ese momento hacer un insert en ti db en un campo que debe almacenar la ruta de ese archivo por ejemplo "/archivos/pdf/[nombre_archivo].[pdf]"

casi te dejo en las mismas pero este scrip es muy bueno y si me das chance te ayudo abuscar esas lineas en este script

http://clement.beffa.org/labs/projects/w2box/

:mota:
 
Compa aqui te dejo un link de donde podes descargar un programita que hace eso mismo que vos haces con tus scrips pero un poco mas robusto, mas completo, lo que debes de hacer es buscar las lineas donde se guarda el archivo y en ese momento hacer un insert en ti db en un campo que debe almacenar la ruta de ese archivo por ejemplo "/archivos/pdf/[nombre_archivo].[pdf]"

casi te dejo en las mismas pero este scrip es muy bueno y si me das chance te ayudo abuscar esas lineas en este script

http://clement.beffa.org/labs/projects/w2box/

:mota:
de antemano gracias y pues creo que si necesitare un poco mas de ayuda pero por lo mientras revisare este codigo talves le entiendad mejor
 
Volver
Arriba