繁体   English   中英

在网站之间包含文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM