怎么设include file跟据不同条件来调用不同文件

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:24:29
网站里有两个语言包文件,
跟据条件来判断是中文还是英文来调用不同的文件包.
大体就像下面那个意思.
但是现在像下面这么写总是出错,不知道INCLUDE FILE怎么来调用.
怎么写条件语句,各位帮帮忙.

<%
dim i
i=session("yuyan")
if i="china" then
response.write "<!-- #include file="language_files/language_file_inc.asp"-->"
else

response.write "<!-- #include file="language_files/language_file_inc_e.asp"-->"
end if %>

大体就是这样的意思.
一楼二楼的回答都不行.
因为这个文件里有变量定议,
如果这样判断的话就会在第二个文件的时候提示变量重定义了.
不知道还有没有别的方法来实现
或是格式.
我试过了,这样写的话如果里面没有变量定义是不报错的,也正常显示.
但是有变量就不行了.
大家再帮帮忙

ASP里面 <!--#include --> 的执行是优先于 <%%> 的

也就是说, 在ASP文件执行的过程中, 是先把 include 的文件包含进来, 然后才开始页面代码执行

这里的 <!--#include --> 应该算是 shtml 符号, 而不是ASP的内容, 所以在 <%%> 里面加 <!--#include --> 虽然不会提示什么错误, 却会被ASP认为是注释而忽略, 因此在 <%%> 加 <!----> 的内容是无效内容
只有在 html 里面加 <!--#include --> 才会被解析的 :)

改成

<%
dim i
i=session("yuyan")
if i="china" then
%>
<!-- #include file="language_files/language_file_inc.asp"-->"
else
<%
<!-- #include file="language_files/language_file_inc_e.asp"-->"
<%
end if %>

另外, 如果设置了强制声明变量的话, 由于 include 的优先级高于 <%%> 因此很可能会提示变量重复定义的错误

-----------------------------------

PHP 有require, 可惜.asp 没有

所以, 如果强制声明变量的话

只能这样子了..

新开一个文件声明变量, 然后各个文件来定义变量的值, 不声明变量

首先确定是session里有值
dim i
i=session(&quo