[英]Including Files Between Websites
我有几个功能像一个大型CMS的网站,所有基于该网站的网站都由一个中央网站托管。 我从下面的一个卫星站点发布了代码,以说明如何包含文件。
问题是我刚刚在线激活了PDO,这引起了各种各样的问题。 在PDO和我正在处理的.htaccess文件之间显然存在冲突。 同时,我的包含文件未包含在内。
因此,我想问一下是否存在另一种在线网站之间包含文件的替代方法,至少直到我可以解决PDO / Apache问题为止。 谢谢。
$path = $_SERVER['REQUEST_URI'];
$path2 = str_replace('/', '', $path);
$Section = current(explode('/', ltrim($path, '/'), 2)); // Main line
$Sections = array('Introduction', 'Topics', 'World', 'Ecosymbols', 'Glossary', 'Reference', 'Links', 'About', 'Search');
if ( ! in_array($Section, $Sections))
{
// die('Invalid section: ' . $Section);
}
switch (PHP_OS)
{
case 'Linux':
$BaseINC = '/home/geobear2/public_html';
$BaseURL = 'http://www.geobop.org';
break;
case 'Darwin':
// Just some code for my local includes...
break;
default:
break;
}
include ($BaseINC."/2B/dbc.php");
注意:这是我从一个受影响网站的主页上收到的错误消息。 ACE.php是包含我上面发布的代码的文件的名称。
警告:include(/home/geobear2/public_html/2B/dbc.php)[function.include]:无法打开流:在第67行的/home/symbolos/public_html/1A/ACE.php中,权限被拒绝
警告:include()[function.include]:无法打开'/home/geobear2/public_html/2B/dbc.php'进行包含(include_path ='。:/ usr / lib / php:/ usr / local / lib / php ')在第67行的/home/symbolos/public_html/1A/ACE.php中
警告:include(/home/geobear2/public_html/2B/inc/A1.php)[function.include]:无法打开流:在第31行的/home/symbolos/public_html/index.php中,权限被拒绝
警告:include()[function.include]:无法打开'/home/geobear2/public_html/2B/inc/A1.php'进行包含(include_path ='。:/ usr / lib / php:/ usr / local / lib /home/symbolos/public_html/index.php在第31行的/ php')
我相信您是在问一个错误的问题……在应用程序中“包含”文件的方式有点错误,我可能会说“老式”。
您不应包含来自其他网站的信息……如果它们托管在您可以使用的同一服务器上(如果您具有足够的访问权限,则某些服务器将禁止您执行此操作),包括绝对路径。
另外,您的方法会使您放慢速度,我怀疑它首先是否起作用...
在此处查看include的工作方式: http: //ro1.php.net/manual/en/function.include.php +++交叉引用require,require_once,include_once。
优雅的解决方案:如果您正确地阅读了文档并进行了试验,并且授予您的服务器具有较新版本的php(与我所记得的至少为5.3,我可能是错的),则可以开始使用名称空间。
文件: http : //www.php.net/manual/en/language.namespaces.php
这是在应用程序中使用一组通用类的好方法。 必须具备OOP知识,因为我不能为您提供太多指导,因此在线提供了数百篇精彩的教程。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.