首先,我是PHP的新手,所以我需要更多解释。我试图使用PHP创建一个多语言站点,问题是;当我创建一个新文件夹,例如:domain.tld/test/location
(在这种情况下,位置是新的),当然不会导入位于domain.tld/test
的语言文件。你怎么能澄清这些文件的来源?
脚本
<?php
// include language configuration file based on selected language
echo realpath(dirname(__FILE__));
$lang = "en";
if(isset($_GET['lang'])){
$lang = $_GET['lang'];
}
require_once("lang.".$lang.".php");
?>
答案 0 :(得分:1)
php中的路径就像许多语言中的路径一样。如果您想要后退,请在路径
之前添加../
require_once('../file/in/prev/dir');
我真的很喜欢路径,所以每当我必须确定一个,我会在我的终端尝试。也许这可以帮助您找出文件的位置。
但是,我不知道为什么以及如何以这种方式执行...我的意思是,如果每种语言都有一个文件,为什么不在HTML中执行?处理PHP的要点是你不想复制文件,这就是你正在做的事情。
您可能正在寻找关系数据库,其中您有一个包含通用内容的表和另一个包含已转换内容的表。例如
文章:
| ID |日期|
| 1 | 8/8/08 |
翻译内容:
| ID |内容| lang |
| 1 |你好| en |
| 2 |卓悦| fr |
和中间表:
| article_id的|的content_id |
| 1 | 1 |
| 1 | 2 |
希望有所帮助
答案 1 :(得分:0)
尝试:
require_once __DIR__ . '/../lang.' . $lang . '.php';
或者,您可以预先为所有Php文件加载,请参阅:
auto_prepend_file