好的,这是我的项目结构(简化):
+blog
-index.php //Index 2
+ views
-index.php // Index 3
-article.php
-index.php // Index 1
+partials
-constants.php
-top.php
好的,在索引1 和索引2 中我使用这行代码来包含一些部分/片段:
索引1 :
<?php require_once("./partials/constants.php"); ?>
<?php require_once("./partials/top.php"); ?>
索引2 :
<?php require_once("../partials/constants.php"); ?>
<?php require_once("../partials/top.php"); ?>
但在索引3 如果我使用它:
<?php require_once(".../partials/constants.php"); ?>
<?php require_once(".../partials/top.php"); ?>
我收到此错误:
<body><br>
<b>Warning</b>: require_once(.../partials/constants.php): failed to open stream: No such file or directory in <b>/home/codio/workspace/blog/views/index.php</b> on line <b>1</b><br>
<br>
<b>Fatal error</b>: require_once(): Failed opening required '.../partials/constants.php' (include_path='.:/home/codio/.parts/packages/php5-apache2/5.5.15/lib/php') in <b>/home/codio/workspace/blog/views/index.php</b> on line <b>1</b><br>
</body>
答案 0 :(得分:2)
文件路径前的那些点并不代表目录的级别。
./
引用您所在的目录
../
以上级别。
那就是说,你应该在index3上运行../../partials/constants.php
对于index2,因为它是一个高于index3的级别,您需要将require语句更改为../partials/constants.php
对于索引,因为它位于目录partials
的同一级别,您将运行require ('partials/constants.php');