Aqui tengo un ejemplo del funcionamiento de un script mio implantado en una clase hecha en PHP te dejo el archivo y una parte del codigo de la clase para que veas la estructura.
Código PHP:
$apps = new claseArchivos();
$categorias = new claseCategoria_archivo();
$idcliente = $_GET['idcliente'];
$idproyecto= $_GET['idproyecto'];
if(isset($_POST['crear'])) {
if ($_SESSION['tmptxt'] == $_POST['captcha']) {
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
if ($archivo != "") {
// guardamos el archivo a la carpeta files
$destino = "documentos/".$prefijo."_".$archivo;
$destino2 = $prefijo."_".$archivo;
if (copy($_FILES['archivo']['tmp_name'],$destino)) {
$apps->agregar_archivos($idproyecto,$_POST['categoria'],$idcliente,$destino2,$tamano);
echo '<div style="padding:5px; border:1px solid #003300; background-color:#99FF99; color:#003300; width:600px; margin:5px;">Se cargo el archivo exitosamente</div>';
}
else {
echo 'Error al cargar el archivo';
}
}
}
else {
echo "Las letras que ingreso de la imagen de seguridad no son correctas.";
}
}
y la funcion que vez arriba esta conformada por el siguiente codigo
Código PHP:
public function agregar_archivos($idproyecto,$idcategoria,$idcliente,$archivo,$tamano_arch) {
$sql = "INSERT INTO archivos (`idarchivo`,`idproyecto`, `idcategoria`, `idcliente`,`archivo`,`fecha_publicado`,`tamano_arch`)
VALUES (NULL,'$idproyecto','$idcategoria','$idcliente', '$archivo', CURRENT_TIMESTAMP , '$tamano_arch'); ";
/* $sql = "INSERT INTO `gestor_proyectos`.`archivos` (`idarchivo`, `idproyecto`, `idcategoria`, `idcliente`, `archivo`, `fecha_publicado`, `tamano_arch`)
VALUES (NULL, '$idproyecto', '$idcategoria', '$idcliente', '$archivo', NOW(), '$tamano_arch');";*/
if($this->sql($sql)) {
return true;
}
else {
return false;
}
}
me imagino que te refieres a eso.. saludos..
NOTA: como veras el script sube el archivo y pasa la ruta a la funcion en PHP que se encargara eventualmente de insertar registro con dichos datos tu pues solamente debes generar el tuyo basado en tu estructura logica..