php 文件引用路径的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 文件引用路径的问题相关的知识,希望对你有一定的参考价值。
网站结构如图
require.php中的内容如下
<?
require 'class/a.class.php';
require 'class/b.class.php';
require 'c.class.php';
?>
然后在index.php中写require 'require/require.php';就可以使用a、b、c三个类
现在问题来了
require.php中,看a、b的引用,路径应该是相对require.php来看的
但是在引用c的时候,如果也是相对与require.php,不是应该写成require '../c.class.php';么??
但是这样写就报错了
有人能解释下么!
在require.php引用,那么路径是“../c.class.php”。在a或b中的一个,那么路径是“../../c.class.php”追问
c是在require.php中引用,然后require.php被index.php引用
但是在require.php中引用c“../c.class.php”的写法会报错,必须写成上面问题中的路径
你可以测试下
那你干嘛不在index.php中引用c跟require呢,效果都一样的啊
参考技术B 为什么要这样写的,自动加载不行吗?使用autoload,然后使用namespace不就简单方面高达上吗?追问我只是想知道原因,结果并不是关键
参考技术C 建议你看下spl_autoload_register()追问我只是想知道原因,结果并不是关键
追答你贴一下报错信息
追问麻烦了
如果把c的引用写成
require 'c.class.php';就没有问题
php.ini的载入位置
php.ini文件找不到,载入WINDOS下的,但找不到,后来强制-c查找是OK的。思考,为什么载入window下的ini文件。1.可能是有一个默认路径。2.可能没有路径。默认载入。
问题解决:http://php.net/manual/zh/configuration.file.php,,中有具体介绍php.ini的引用问题,寻找注冊表。使用执行-》regedit,打开注冊表hkey-local-machine-software-php,可是我的电脑里面php是在PHPstudy集成环境中装的,所以在注冊表中没有,所以ini的搜索路径依据优先级是使用
- Windows 文件夹(C:\windows 或 C:\winnt)。或 --with-config-file-path 编译时选项指定的位置。
另一个载入配置文件的位置:应该是在所使用php下的php.ini文件,可是找不到。自己主动载入了D:\\360下载 里面的php.ini文件,将所载入的文件重命名就可以解决
以上是关于php 文件引用路径的问题的主要内容,如果未能解决你的问题,请参考以下文章