PHP include不能正常工作

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 路径

我包括朗从单独的文件。我怎么会出错,我不知道为什么。 如果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
路径是正确的,因为它适用于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;