Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php中关于include包含页面路径问题解决方法

php中关于include包含页面路径问题解决方法

黄舟
黄舟asal
2017-06-25 10:56:472041semak imbas


刚开始使用phpinclude包含文件时并没有发现什么问题,
慢慢的到后来发现了一个很严重的问题,例如:

<web>(网站根目录)
  ├<A>文件夹
  │ │
  │ └1.php
  ├<B>文件夹
  │ │
  │ └2.php
  └index.php


在1.php中通过include("../B/2.php");来引入B目录下的2.php文件
在index.php中通过include("A/1.php");来引入A目录下的1.php文件
运行出来当然会出现问题,找不到../B/2.php文件
静下心来好好分析一下,index.php中引用了A目录下的1.php文件,这时候
1.php被编译到index.php中执行,也就是相当于1.php同index.php一样位于网站根目录下
但是在1.php别忘记了一断代码include("../B/2.php");
"../"意味着什么?上一级目录,现在1.php已经在根目录下了,这时候再上一级,那就已经
找不到2.php了,所以问题就出现在此。
那么如何解决能?很多人会想到include("/B/2.php"),这样不就好了,同样不行
php不同于我们的jsp,在include中使用"/"并不是我们所想象的网站根目录,它代表的的
当前的目录,因此还是不行。
那是不是没有方法可解决了?当然是有的

既然不能用相对的,那我们可以改用绝对路径的方式。
realpath("./") 用于获取当前网站根目录的绝对路径,如:c:\wamp\www\网站名称\
因此我们可以交include("../B/2.php");改成include(realpath("./")."B/2.php");

这样的话,不管页面在哪一级目录,我都可以去引用,不用再担心路径问题了!

Atas ialah kandungan terperinci php中关于include包含页面路径问题解决方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn