asp网站在win2008中的上传问题

使用asp制作的网站,上传资源时,通常会将时间信息转化为一个不可重复的量,以重新命名新建的文件。在win2003系统中,时间格式是“年-月-日 时:分:秒”格式,因此在提取时间信息时,要把“-”和“:”删除了,保留纯数字,当然还要加上timer()信息,以防止同一天上传多个文件时的重复。如果使用电脑生成的随机数,也不能保证数字的重复,因此在时间信息中提取信息,通常是必须的。

在win2003系统中,上传文件后,将时间信息提取数字信息的公式如下

filename=replace(replace(now(),"-",""),":","")&timer()

也就是将now()执行了两次替换,将其中的“-”和“:”删除了,得到一串长的数字,就可以了。但是将所有源代码搬到win2008中,执行上传操作时出错,执行过上述两次替换操作后,filename中还是有文件名后不允许的特殊字符。原来win2008系统中,时间格式记录成“年/月/日 时:分:秒”,经过上述两次替换后,符号"/"并没有被替换,因此需要再加一句语句,以确保filename的纯数字。

filename=replace(filename,"/","")

如果你不放心,还可以加一句

filename=replace(filename,"\","")

如果不想使用替换命令,你也可以使用时间差值来命名文件,如将现在的时间减去1900年1月1日,得到一个含小数的数字,再乘以1000000,以确保数字足够大,再取整,这样就不会出现重复了,这样取时间信息,也不会被一些工具下载。如果将带有时间信息的一串数字进行进制转化,生成带数字及字母的一串字符,更可以让文件名显得短小精悍。

posted @ 2017-03-21 15:27  net5x  阅读(152)  评论(0)    收藏  举报