任何人都知道如何像wordpress一样创建 php类根目录吗? 它最重要的是像wordpress 我有一些文件夹
*include:
-header.php
-footer.php
*images
*forms
-index.php
问题是当我使用php header
图像没有正确链接时,无论如何都要解决它。
我读了一些文章来使用$_SERVER['DOCUMENT_ROOT'].
,我如何在全球范围内应用它?
答案 0 :(得分:1)
我设法做到的最不奇怪的方式:
$_SERVER[DOCUMENT_ROOT]
)添加到include_path(可在php.ini,apache配置中轻松完成,或在运行时使用set_include_path
)require "classes/{$classname}.class.php"
您可能需要将文件名称设为小写;我忘了__autoload是否以小写的形式传递了类名,但我似乎记得那个问题。
答案 1 :(得分:1)
您必须定义include_path
。 include_path
与Windows和UNIX上的$PATH
类似。当你要求一个文件(带有require或include)时,PHP会尝试在当前目录中找到它。如果找不到,那么将开始尝试使用include_path
中定义的目录。
include_path
是一个PHP.ini环境变量,因此您可以在主php.ini
文件中,.htaccess
中使用php_value
修改它,或使用{{ 3}}
例如,当您添加了class
文件夹时,您可以在任何项目的文件中运行require('class/foo.php');
,并且只有当您<时才会找到您的全局类文件夹strong>不要在那里有另一个类文件夹。
答案 2 :(得分:1)
不确定它与您正在寻找的内容有多大关系,但万一它有所帮助:在大多数网站中,我从头开始将不必要的php文件包含在不同的文件夹中(取决于语言,部分等)一个简单的代码。从URL中,我得到语言以及节和页面变量:
$root = $_SERVER['DOCUMENT_ROOT'];
$include_string = ":/$root:/$root/$lang:/$root/$lang/$section:/$root/$lang/$section/$page";
ini_set("include_path", ".:../:$include_string");
我的代码有点复杂,因为还有一些变量和共享文件夹,但是对于一些循环和条件,它们也是一样的。
答案 3 :(得分:0)
$_SERVER['DOCUMENT_ROOT']
将在全球范围内发挥作用。
$_SERVER
是PHP superglobals之一。