【问题标题】:Including a variable file on PHP在 PHP 上包含一个变量文件
【发布时间】:2019-11-13 18:26:36
【问题描述】:

我正在努力学习这里的基础知识,感谢任何帮助。

我在主网站文件夹中有一个 index.php:

www.site.com/index.php

我在这里有一个子文件夹,里面有一个我想包含的文件:

www.site.com/book/application/language/english/translations_lang.php

当试图在我的 index.php 中包含该文件时,网站无法加载

我试过这个:

<? php include '/book/application/language/english/translations_lang.php'; ?>

当上述失败时,我还删除了开头的斜杠,我还尝试将翻译文件移动到与索引文件相同的目录,但每次都无法加载网站。

翻译文件有以下内容:

<?php defined('BASEPATH') OR exit('No direct script access allowed');
// English
$lang['company_name'] = 'Big Company';

我想我知道它的 BASEPATH 阻止了它被读取并导致站点失败。

帮助

【问题讨论】:

  • "当上述失败时" 如果失败是怎么回事? 发生了什么
  • 首先index.php 是否包含define('BASEPATH', 'something')?其次从/book中删除第一个/
  • 在路径的开头使用/ 告诉 PHP 从系统根目录而不是站点根目录开始查找文件。需要使用$_SERVER['DOCUMENT_ROOT']或者BASEPATH来遍历实际文件。
  • 这是一个 codeigniter 常量,因此请确保您用来包含 translations_lang.php 的文件也使用 Codeigniter 框架
  • 我认为您在这里混淆了一些东西,以利用 Codeigniters 语言课程:codeigniter.com/user_guide/libraries/language.html

标签: php codeigniter codeigniter-3 codeigniter-2


【解决方案1】:

请使用这个

<?php include dirname(__FILE__) . '/book/application/language/english/translations_lang.php'; ?>

【讨论】:

  • 不幸的是没有工作。我的文件在代码点火器之外。还可以吗?
  • @tryer 我很困惑。您使用 3 codeigniter 标签标记了这个问题。但现在你是说这段代码使用codeigniter?
  • @tryer,translations_lang.php 是一个 PHP 文件,用于定义数组变量。所以如果你包含它,你可以在任何地方使用这个文件中的数据。请在您的 index.php 中包含此代码块 define('BASEPATH', dirname(FILE));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-16
  • 1970-01-01
相关资源
最近更新 更多