En:
SubirArchivo($_POST["archivo"],basename($_POST["archivo"]));
$_POST["archivo"] es la dirección local. Si estás trabajando con un servidor windows no tendrás problemas para esto.
basename($_POST["archivo"]) obtendrá el nombre del fichero que subirás. Por tanto, para colocarlo en una carpeta concreta deberás hacer algo parecido a lo siguiente:
'dirección' . basename($_POST["archivo"])
Le pasas a la funcion SubirArchivo la dirección acabada en / concatenada con el nombre del archivo. Si trabajas en Windows no tendrás problemas.
Yo estoy intentando hacer algo parecido, pero sobre un servidor linux, y tengo problemas para acceder a los ficheros locales. Uso esto para pasar las direcciones de windows a linux. Paso de barras invertidas a directas:
$_POST["archivo"] = str_replace ("\\","/",$_POST["archivo"]);
$_POST["archivo"] = str_replace ("//","/",$_POST["archivo"]);
SubirArchivo($_POST["archivo"],'html/documentos/' . basename($_POST["archivo"]));
El problema es que creo que tengo que montar y desmontar el sistema de ficheros local cada vez que quiera subir un fichero, y no se como hacerlo.
Agradeceria la ayuda que me puedan prestar. Gracias.