require dirname(__FILE__).'/yahooPHP/lib/Yahoo.inc';
此行位于一个目录中的一个文件中,我无法确定如何引用另一个目录中的文件。
这个表达是什么意思,它暗示引用必须只在同一个目录中?
答案 0 :(得分:5)
__FILE__
是Magic Constant,对应于写入文件的完整路径。
这意味着 dirname(__FILE__)
指向当前文件(写入此文件的那个)所在的目录。
因此,dirname(__FILE__).'/yahooPHP/lib/Yahoo.inc'
指向:
yahooPHP
子目录lib
yahooPHP
子目录
Yahoo.inc
文件到lib
目录。基本上,你有:
your-file.php
yahooPHP/
lib/
Yahoo.inc
答案 1 :(得分:1)
http://php.net/manual/en/function.dirname.php
分层的关键问题包括 树是PHP进程包含的 相对于原始文件的路径, 不是当前的包含文件。
对此的解决方案是为所有人添加前缀 包括路径:
< PHP str_replace函数( '//', '/',目录名(文件强>)); ?>这将生成一个基本路径 相对于当前文件,其中 然后将允许包含行为 类似于C / C ++。
因此,要包含一个1英寸的文件 父目录:
< PHP require_once( str_replace函数( '//', '/',目录名(文件强>)。 '/') '.. / parent.php'); ?>包含相同的文件 目录:
<?php require_once( str_replace函数( '//', '/',目录名(文件强>)。 '/') .'neighbor.php'); ?>包含一个文件 子目录:
<?php require_once( str_replace函数( '//', '/',目录名(文件强>)。 '/') .'folder / sub.php'); ?>请注意我们引用的所有路径 不能以/开头,必须是 相对于当前文件,按顺序 连接正确。
答案 2 :(得分:0)
查看specification后。 这实际上是将指定资源包含到PHP脚本中以及检索父文件夹路径和字符串连接的示例。其工作原理如下:
require = add file to your PHP script (similar to `include`)
dirname() = get the parent directory of specified path
__FILE__ = this will be resolved to absolute path of the current file
.'/yahooPHP/lib/Yahoo.inc' = string concatenation, so this part simply adds file's path to the rest of the string
所以最后你最终会添加一个指向Yahoo.inc文件路径的文件(应该在相对于父目录的目录中找到)。