ASP获取当前文件名的方法-利用函数InstrRev() .

在ASP编程的过程中,获取当前操作的文件的文件名,是一个非常常用的动作,ASP好像没有自己内置函数,所以这个操作我们需要自己编函数来完成。今天一个老朋友问我怎么做,我愣了一下,还在想有没有内置函数,实在没想起来,不知道是真的没有还是我不知道。呵呵~不管了,最后我还是自己写了一个小函数来完成的,不过不是我的原创,忘了在哪儿看到的方法,一直记在心里。

介绍一下InstrRev函数

InstrRev函数:从字符串的最后一个字符搜索起,向前面逐个搜索前面字符串,返回字符在字符串当中的第几位

举例来说明其应用:

ASP/Visual Basic代码
  1. <%   
  2. Dim strTXT,pos   
  3. strTXT=www.baidu.com
  4. pos=instrRev(strTXT,".")   
  5. Response.Write pos   
  6. %>  

InstrRev函数搜索的起始是倒序,倒着搜索到com前的那个“.”。返回这个点在字符串中的位置,从0开始计数(类似数组),这个点为第12位,所以返回的结果将是11。

通过此原理,我们不光可以取得ASP页面的文件名,还可以获取域名后缀名等信息,应用还是比较广泛的。

下面这几句代码就是实现获取当前文件名(放到ASP页面里,就能打印出当前文件名):

 

ASP/Visual Basic代码
  1. Dim strURL,intPos,intStrLen,strFileName   
  2. strURL = Request.Servervariables("url")   
  3. intPos = InstrRev(strURL,"/")   
  4. intStrLen = len(strURL)   
  5. strFileName = Right(strURL,intStrLen-intPos)   
  6. Response.Write strFileName  

如果希望函数来获取,调用如下getFileName()函数即可实现:

 

ASP/Visual Basic代码
  1. Function getFileName()   
  2.   Dim strURL,intPos,intStrLen,strFileName   
  3.   strURL = Request.Servervariables("url")   
  4.   intPos = InstrRev(strURL,"/")   
  5.   intStrLen = len(strURL)   
  6.   strFileName = Right(strURL,intStrLen-intPos)   
  7.   getFileName = strFileName   
  8. End Function  

有话要说