PHP include不能正常工作
我包括朗从单独的文件。我怎么会出错,我不知道为什么。 如果borowser的语言是SK,下面的代码显示我对$lang的正确翻译['YES'],只要它是CS,它就会显示错误:未定义变量:lang 首先,我认为问题可能存在于已翻译的文件中,所以我复制/粘贴sk.php并将其重命名为cs.php,仍然会得到相同的错误 “我的代码”中文件的回显在CS中显示:PHP include不能正常工作,php,include,Php,Include,我包括朗从单独的文件。我怎么会出错,我不知道为什么。 如果borowser的语言是SK,下面的代码显示我对$lang的正确翻译['YES'],只要它是CS,它就会显示错误:未定义变量:lang 首先,我认为问题可能存在于已翻译的文件中,所以我复制/粘贴sk.php并将其重命名为cs.php,仍然会得到相同的错误 “我的代码”中文件的回显在CS中显示: 1.$user_lang = cs,sk-SK;q=0.5 2.$user_lang = cs 3.$lang_file = cs.php 路径
1.$user_lang = cs,sk-SK;q=0.5
2.$user_lang = cs
3.$lang_file = cs.php
路径是正确的,因为它适用于sk.php,cs.php文件也在那里,否则它将显示include错误。(我也检查了一下,以确保)无论何时我仍然得到我的错误。有人能帮我一下吗
$user_lang = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$_SESSION['lang'] = $user_lang;
setcookie('lang', $user_lang, time() + (3600 * 24 * 30));
echo $user_lang;
$user_lang = substr($user_lang, 0, 2);
echo "<br>";
echo $user_lang;
switch ($user_lang)
{
case 'sk':
$lang_file = 'sk.php';
break;
case 'cs':
$lang_file = 'cs.php';
break;
default:
$lang_file = 'cs.php';
}
echo "<br>";
echo $lang_file;
echo "<br>";
$include_lang_path = 'languages/'.$lang_file;
echo $include_lang_path;
include_once $include_lang_path;
echo $lang['YES']
$user\u lang=$\u SERVER['HTTP\u ACCEPT\u LANGUAGE'];
$\会话['lang']=$user\u lang;
setcookie('lang',$user_lang,time()+(3600*24*30));
echo$user_lang;
$user\u lang=substr($user\u lang,0,2);
回声“
”;
echo$user_lang;
交换机($user\u lang)
{
案例“sk”:
$lang_file='sk.php';
打破
案例“cs”:
$lang_file='cs.php';
打破
违约:
$lang_file='cs.php';
}
回声“
”;
echo$lang_文件;
回声“
”;
$include_lang_path='languages/'。$lang_文件;
echo$include_lang_路径;
include_once$include_lang_路径;
echo$lang['YES']
谢谢大家阅读这篇文章 你可以试试这个
$include_lang_path = './languages/' . $lang_file;
include_once( $include_lang_path );
或
其实是一样的。始终使用前面的/
你也可以试试
include( $include_lang_path );
而不是
include_once $include_lang_path;
include_once()语句在脚本执行期间包含并计算指定的文件。这是一种类似于include()语句的行为,唯一的区别是,如果文件中的代码已经包含,则不会再次包含。顾名思义,它只包含一次
因此,可能之前已经包含了一些内容。您的问题可能有很多可能性:
echo$lang\u文件是什么代码>输出?首先,确保该文件存在
另外,检查PHP的include\u路径配置中是否存在目录(语言)
如果不是,您可以尝试在您提到的路径前面添加
,如果该路径是相对于当前文件的,如
$include_lang_path='./languages/'.$lang_文件代码>我想你遗漏了一些引语。。。。错误是什么?哪一个是文件夹结构,向ustry include_显示一次($include_lang_path);错误:Undefined variable:lang
structure:'var/www/class/data.php(我称之为class)'var/www/languages/cs.php(transalte文件)这个echo是什么$lang['YES'],我想这是您未定义变量的错误
include_once $include_lang_path;