-5

我如何编写代码,为其他 php 文件的 url 创建一个系统,从而避免可能导致移动文件的问题。

4

2 回答 2

2

首先,请注意此架构存在严重缺陷,您应该更好地说明您的需求,以便我们帮助您找到解决此问题的另一种方法。此外,除了相对或绝对 url,您所问的不是神奇的第三种方式,而只是“无论我有多深,如何弄清楚我的绝对路径是什么”。

如果您决定保留这一点,您可以在虚拟主机中使用环境变量

<VirtualHost *:80>
    #...
    SetEnv URL_ROOT "/foo/bar/42"
</VirtualHost>

然后,您可以从 php 读取它,而无需读取任何相对路径/知道文件在哪里:

<?php
$url_root = getenv('URL_ROOT');
define('URL_ROOT', $url_root == false ? '/' : $url_root);

另一种解决方案是在您的 php.ini中使用auto_prepend_file

于 2013-10-28T14:06:36.900 回答
1

URL 是绝对的或相对的,除了你的情况,你可以使用路由系统,看看 Symfony 路由组件,它可以给你一些想法http://symfony.com/doc/current/components/routing/introduction。 html

于 2013-10-28T14:02:42.527 回答