Recojer carpeta superior

21/08/2006 - 09:07 por Carlos Marco | Informe spam
Buenos días a todos, tengo un problemilla a la hora de recojer la carpeta
anterior. Me explico:

Tengo el siguiente directorio:
\wwwroot
\sitioWEB
\admin
\index.asp
\imagenes
\hola.jpg

Desde "index.asp" quiero acceder al contenido de la carpeta "imagenes",
desde "index.asp" uso el siguiente código:
Dim sBasePath
sBasePath = Request.ServerVariables("PATH_INFO")
sBasePath = mid(sBasePath,1,instr(2,sBasePath,"/")) & "imagenes/"

Este código me devuelve "/sitioWEB/imagenes/", que es lo que quiero. Hasta
aquí todo correcto. El problema viene cuando bajo todo el sitio un nivel, es
decir, de la siguiente forma:
\wwwroot
\admin
\index.asp
\imagenes
\hola.jpg

En este caso, el código anterior me debería devolver "/wwwroot/imagenes/",
que sería lo que estaría bien. Pero me devuelve "/admin/imagenes/". ¿Como
puedo obtener el valor que deseo?

Muchas gracias por su ayuda.
 

Leer las respuestas

#1 Matias Iacono
25/08/2006 - 17:59 | Informe spam
El problema esta basicamente en tu MID, ya que tratas de acceder a una
cantidad de / determinados, que al moverlo de directorio, resulta en una
cuenta inferior.

Ahora, puedes usar server.mappath para sacar la ruta fisica. Aunque por lo
que veo, necesitas una ruta virtual de acceso.

En dicho caso, posiblemente te sea conveniente tener una variable
application almacenada en el global.asa, con la ruta escrita en ella. Luego,
en tu codigo accedes a esta variable para obtener la ruta.

Si tu aplicacion cambia de directorio, solo necesitas modificar esta variable.

Si tienes mas de un lugar que necesites acceder, puedes crear tantas
variables como quieras.

Saludos.

"Carlos Marco" wrote:

Buenos días a todos, tengo un problemilla a la hora de recojer la carpeta
anterior. Me explico:

Tengo el siguiente directorio:
\wwwroot
\sitioWEB
\admin
\index.asp
\imagenes
\hola.jpg

Desde "index.asp" quiero acceder al contenido de la carpeta "imagenes",
desde "index.asp" uso el siguiente código:
Dim sBasePath
sBasePath = Request.ServerVariables("PATH_INFO")
sBasePath = mid(sBasePath,1,instr(2,sBasePath,"/")) & "imagenes/"

Este código me devuelve "/sitioWEB/imagenes/", que es lo que quiero. Hasta
aquí todo correcto. El problema viene cuando bajo todo el sitio un nivel, es
decir, de la siguiente forma:
\wwwroot
\admin
\index.asp
\imagenes
\hola.jpg

En este caso, el código anterior me debería devolver "/wwwroot/imagenes/",
que sería lo que estaría bien. Pero me devuelve "/admin/imagenes/". ¿Como
puedo obtener el valor que deseo?

Muchas gracias por su ayuda.



Preguntas similares