我在本地计算机上使用XAMPP
服务器。我们假设我的目录结构如下
-api/
- products.php
-includes/
- settings.php
因此,如果我想要包含products.php
文件,请从settings.php
页面开始,然后在我的include './includes/settings.php';
中使用local machine
,这样就可以了。但是当我将它移动到远程服务器时,我必须使用include '../includes/settings.php';
。区别在于./
和../
。为什么这在本地和远程服务器上有所不同,解决方案是什么.. ??
答案 0 :(得分:0)
为避免任何问题尝试使用 DIR ,它会为您提供与当前文件存在位置相比的路径,同时尝试使用include_once而不是include。
DIR :文件的目录。如果在包含内使用,则 返回包含文件的目录。这相当于 目录名(FILE)。此目录名称没有尾部斜杠 除非它是根目录。
include_once __DIR__.'/../includes/settings.php';
答案 1 :(得分:0)
本地计算机和服务器的目录结构之间可能存在一些差异。解决这个问题的一种方法是使用命名空间和“使用”语句。
在您的products.php中,在类页面的顶部创建一个命名空间。类似的东西:
namespace YourProject\Api;
use YourProject\Includes\Settings;
在您的settings.php类中使用命名空间(以及您可能需要的任何用语句。)类似于:
namespace YourProject\Includes;
use YourProject\Api\Products;
然后,您可以创建可能需要的新对象,例如在您的设置类中:
$products = new Products();
或者在您的产品类中:
$settings = new Settings();