asi es... trabajr con el URL nada mas es mas conveniente en el utilizacion del recurso base dato... tienes k crear una carpeta virtual donde kedaran los documentos k subas...
primero creamos el form donde subiras tu archivo... y lo enviamos a el archivo php llamado archivo_ag.php
-----------------------------------------------------------------------
<form method="POST" enctype="multipart/form-data" name="form" action="archivo_ag.php" > 
ID:
<input type="text" name="id"> 
Adjunte documento:
<input type="file"  name="archivo" size="20" > 
<input type="submit" value="Enviar">
<input type="button" class="button" name="cmdCancelar" value="Cancelar" onclick="javascript
:window.close();">
<form> 
--------------------------------------------------------------------- 
generamos el archivo "archivo_ag.php" aki procesaremos el formulario completo (solo pondre los campos que utilizaremos)
 
 
ahi va.....
---------------------------------------------------------------------
//descatamos los datos del form// 
$id=$_POST["id"];  
<?
	// Configuración //
	///////////////////
	// $extensiones=array("1ªext","2ªext","....");
	// Aqui debes poner las extensiones que NO admitas
	// por ejemplo si no quieres admitir .html , .exe ni .gif :
	// $extensiones=array("html","exe","gif");
	///////////////////////////////////////
$extensiones=array("html","exe","php","","1","2","  3","4","5","6","7","8","9","0","config","dll","inc  ");
	/////////////////
	// $path="/ruta/ta/ta";
	// Si el server rula bajo LinuX toda la ruta completa /var/etc/..
	// Si rulas bajo WindoWs C:/midirectorioroot/tal..
	// Nota: Sin el último / ej: C:/miweb NO C:/miweb/
	////////////////
$path="C:/Inetpub\wwwroot\sec2\oficios";
$nombre=$HTTP_POST_FILES['archivo']['name'];
$tamanio=$HTTP_POST_FILES['archivo']['size'];
$tipo=$HTTP_POST_FILES['archivo']['type'];
$var = explode(".","$nombre");
		$num = count($extensiones);
		$valor = $num-1; 
for($i=0; $i<=$valor; $i++) {
  if($extensiones[$i] == $var[1]) {
  echo "Archivo no admitido <br>
   input type='button' class='button' name='cmdsalir' value='Salir' onclick='javascript
:window.close();'>	";
   exit;
   }
} 
$nombre_archivo = $_POST["num_oficio"].substr($nombre, strlen($nombre) - 4, 4); 
 if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
	{
 	copy($HTTP_POST_FILES['archivo']['tmp_name'], "$path/$nombre_archivo");
  		echo "Datos ingresados correctamente!";
 	}
	else
	{ 
 	echo "Error al subir el archivo";
	}
	?>
******
<CENTER>
 <input type="button"  name="cmdaceptar" value="Aceptar" class="button" onclick="javascript
:window.close();">
</CENTER> 
------------------------------------------------------------------------ 
veras, esta linea 
$nombre_archivo = $_POST["id"].substr($nombre, strlen($nombre) - 4, 4); 
guarda en la variable que debes crear llamada $nombre_archivo, el nombre de tu "id" del formulario conkatenada con la enxtension del documento... nombre. extension
ej: luis.jpg 
la idea es poder hacerlo identificable asociado con un documento en particular... ej: los datos de alguien y esta es su foto 
por lo cual es fundamental mantener el archivo ligado a la id del documento para su futura visualizacion. ademas nos aseguramos k no existan repetidos.. ya k en la base datos no lo permitira..   
luego guardamos el campo en el base datos
 ej: 
$query = "INSERT INTO tutabla (id,nombre_archivo) VALUES ('".$id."','".$nombre_archivo."')"; 
y listo ...!! 
 
 
ahora veremos si kisieras hacer una consulta en la base datos y listar el resultado con el fin de poder descargar el archivo k esta en la carpeta virtual... :D! 
------------------------------------------------------------------------
creamos la consulta a la base datos ... creo eso ya lo sabes, luego imprimes el resultado y listo... pero ojo la impresion del campo nombre_archivo es asi... 
el orden de la direccion del "a href" tiene el siguiente orden... 
"servidor/carpeta_virtual/nombre_archivo" 
------------------------------------------------------------------------
<a href="<?php print(localhost/archivos/".$row["nombre_archivo"]);?>" target="_blank"><?php print($row["nombre_archivo"]);?>
------------------------------------------------------------------------ 
yo manejo el resultado de mi consulta en la variable $row
... solo por si no lo comprendias....
 
  
bueno espero sirva... no garantizo que funcione... ya k yo lo implemento pero con mucho mas codigo... esto es solo aproximacion real a lo k deberia ser... pero yo creo k funciona.... suerte ... espero tu respuesta...
atte
sEIK! -Chile-