PHP-文件夹的相对路径?
我正在使用一个MVCPHP-文件夹的相对路径?,php,codeigniter,relative-path,Php,Codeigniter,Relative Path,我正在使用一个MVCcodeigniter来完成一个项目。它在localhostjust find上运行,并且有一个已定义的base\u url='1!'http://localhost/app/ 在本地计算机上运行时,一切正常,图像等的路径如下所示: 我面临的问题是,当我在手机上使用VPN查看网站时。在本地网络上时,我键入服务器的IP地址以加载网站。这会导致图像/css等仍然尝试从http://localhost,因此不会加载它们 是否有一个PHP变量,我可以使用它来获取文件所在文件夹的路径?
codeigniter
来完成一个项目。它在localhost
just find上运行,并且有一个已定义的base\u url='1!'http://localhost/app/
在本地计算机上运行时,一切正常,图像等的路径如下所示:
我面临的问题是,当我在手机上使用VPN查看网站时。在本地网络上时,我键入服务器的IP地址以加载网站。这会导致图像/css等仍然尝试从http://localhost
,因此不会加载它们
是否有一个PHP变量,我可以使用它来获取文件所在文件夹的路径?例如,。/../assets/bootstrap.min.css
我尝试使用$\u SERVER[“DOCUMENT\u 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">
从这里,我可以根据需要将常数与相对路径结合起来:
ROOTPATH . '/path/to/file'
当您希望在网站内收集文件时,无需指定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">
从这里,我可以根据需要将常数与相对路径结合起来:
ROOTPATH . '/path/to/file'
我也面临同样的问题。视图和html之间的斜杠似乎有问题。它不包含反斜杠,而是包含正斜杠。解决方法:转到index.php并根据环境定义-1到0来停止错误日志记录,如下所示 目前的解决方案/解决方案: if(已定义(“环境”)) { 交换机(环境) { “发展”案例: 错误报告(0) 错误消息:
警告:包括(D:\xampp\htdocs\IPT\application\views/errors\html\error\u php.php)我也遇到了同样的问题。视图和html之间的斜杠似乎有问题。它不包含反斜杠,而是包含正斜杠。解决方法:转到index.php,根据环境定义-1到0,停止错误记录,如下所示 目前的解决方案/解决方案: if(已定义(“环境”)) { 交换机(环境) { “发展”案例: 错误报告(0) 错误消息:
警告:include(D:\xampp\htdocs\IPT\application\views/errors\html\error\u php.php)我要说的唯一警告是使用根相对URL;只需将
relative/path/to/file.jpg
更改为/relative/path/to/file.jpg
(前面有一个//code>)。但我遇到的问题是由于控制器URL的原因,而不是它的原因。例如,如果我的索引页正在加载。/assets/file.css
,但随后我访问了一个控制器/admin/user/123
,现在。/
将路径放入用户目录。是根相对路径(绝对路径)在我发现在配置文件中定义path常量对可移植性很有用的程序中会更好,您只需在整个应用程序中使用contant,这样,如果您确实无法避免更改路径,那么您至少只需更改一行代码。@willoller以及当您更改主机和完整路径时会发生什么?!?!?!?重新编码?!!@Chris Yep;我是在讨论与根相关的HTML路径,而不是PHP路径。如果不清楚的话,很抱歉。唯一需要注意的是使用与根相关的URL;只需将relative/path/to/file.jpg
更改为/relative/path/to/file.jpg
(前面有一个//code>)。但我遇到的问题是由于控制器URL的原因,而不是它的原因。例如,如果我的索引页正在加载。/assets/file.css
,但随后我访问了一个控制器/admin/user/123
,现在。/
将路径放入用户目录。是根相对路径(绝对路径)在我发现在配置文件中定义path常量对可移植性很有用的程序中会更好,您只需在整个应用程序中使用contant,这样,如果您确实无法避免更改路径,那么您至少只需更改一行代码。@willoller以及当您更改主机和完整路径时会发生什么?!?!?!?重新编码?!!@Chris Yep;我是在使用与根相关的HTML路径,而不是PHP路径。如果不清楚,很抱歉。在开发服务器上设置一个本地域。然后在服务器和访问服务器的机器上设置主机文件,依此类推。此外,没有理由使用完整的URL。只需使用/app/assets…等等。基本上/意味着roweb服务器的ot,一切都基于此。这基本上是开发服务器101在开发服务器上设置本地域。然后在服务器和访问服务器的机器上设置主机文件,等等。此外,没有理由使用完整的URL。只需使用/app/assets…等等。基本上/表示web服务器的根目录这基本上就是开发服务器101