PHP - 文件夹的相对路径



我正在使用MVC codeigniter进行我正在从事的项目。它在localhost上运行,并且具有定义的base_url='http://localhost/app/

在本地计算机上运行时,一切都按预期运行良好,图像等的路径看起来像: <link rel="stylesheet" href="http://localhost/app/assets/css/bootstrap.min.css">

我面临的问题是当我在手机上使用VPN查看网站时。在本地网络上时,我输入服务器的IP地址以加载网站。然后,这会导致图像/CS等仍尝试从http://localhost加载,因此不会加载它们。

我可以使用一个PHP变量,它可以为我提供文件夹的路径?IE。../../assets/bootstrap.min.css

我尝试使用诸如$_SERVER["DOCUMENT_ROOT"]之类的东西,但这给了我完整的路径/var/www/html/app/assets/css/,当我尝试从其他来源(例如我的VPN)加载它时,这又无效。

我该如何解决这个问题?这是我需要查看的服务器的路径问题吗?

当您想在网站中收集文件时,您无需指定URL。

因此,如果您有一个域,无论是本地主机还是FQDN,则无关紧要,并使网站"便携式"

您的链接/图像/脚本URI都可以相对称为。

<a href="relative/path/to/file.html">
<img src="path/to/image.jpg">
<link rel="stylesheet" href="path/to/file.css">
<script src="path/to/file.css">

这样做将克服可移植性问题,您将在PHP中执行某些功能需要绝对路径,并且记录了这些功能,但许多功能允许您使用相对路径,如果您需要来自相邻目录的文件,则可以使用相对路径../path/to/file等

定义路径常数。

define('ROOTPATH', '/path/to/webroot');

从这里我可以将常数与需要的相对路径结合在一起:

ROOTPATH . '/path/to/file'

我也面临着同样的问题。视图和HTML之间的斜线似乎存在问题。它没有后斜线,而是包含前向斜线。解决:转到index.php并通过根据环境定义-1至0来定义-1至0来记录。

时间解决方案/解决:如果(定义('环境')){ 开关(环境) { 案件"发展": error_reporting(0);

错误消息:警告:包括(d: xampp htdocs ipt application views/errors/errors html error_php.php)

最新更新