2016-08-13 119 views
1

有我的PHP文件结构:PHP的包括()错误从另一个文件包含当

实践PHP

  • 的index.php
  • 模型
    • model.php
  • 连接器
    • connectionUtility.php

在模型PHP我写: 包括 '../connector/connectionUtility.php'; index.php 包含'model/model.php';


当我运行 'model.php',没有任何错误,但是当我运行 '的index.php' 浏览器显示:

要求(../连接器/ connectionUltility .php):未能打开流:没有这样的文件或目录在C:\ wamp64 \ www \ php-practice \ model \ model.php

致命错误:require():失败打开需要'../connector /connectionUltility.php'(include_path ='.; C:\ php \ pear')in C:\ wamp64 \ www \ php-practice \ model \ model.php


我发现了我的问题的答案。如果我写: 在'model.php'中包含'connector/connectionUtility.php',那么我只需要在'index.php'中包含'model.php'。系统仍然会理解。


谢谢大家的帮助。

+1

使用完整路径而不是相对路径通常可以解决这类问题。即:'include($ _SERVER ['DOCUMENT_ROOT']。'/connector/connectionUltility.php');'或者在使用'include'前使用'set_include_path'# – RamRaider

+1

@ Ilaya Raja S当你放入'..'时,文件夹返回在'index.php'中,它试图从'www'方向包含它 – Tonza

+0

[无法打开流:没有这样的文件或目录]可能的重复(http://stackoverflow.com/questions/36577020/failed-开放流没有这样的文件或目录) –

回答

0

尝试的index.php使用../connector/connectionUltility.phpmodel.phpconnector/connectionUltility.php

实践PHP

  • 的index.php
  • 模型
    • model.php
  • 连接器
    • connectionUtility。PHP

../connector/connectionUltility.php..意味着它进入一个文件夹向后所以在model.php它可以追溯到比它进入connection/connectionUtility.php

但是,当你在index.php使用它已在practise-phppractice-php方向方向和因为点..它回到www方向比它试图去connector/connectionUltility.php

对不起,对不起英文

+0

你能解释为什么错误显示出来吗? –

+0

'@ @ Ilaya Raja S当你把..它去了一个文件夹,所以在index.php它试图包括它从www方向“'有道理,谢谢 –

+0

谢谢,它的工作,但它可以是一个问题,如果我在connectionUtility.php中包含了另一个文件。无论如何可以解决项目树中每个文件的问题吗? – Gii