2011-07-22 56 views
0

我被这个问题严重困扰了。我正在学习使用simpletest来运行我的单元测试。在我的一个示例测试类中,我正在测试一个解析器,它接受一个文件并处理内容。fopen问题,使用php简单测试

我决定创建一个带有示例内容的文件来测试解析器。该文件位于子目录中。运行fopen()fwrite()后,我不断收到文件不存在的错误。我尝试了一个file_exists(),它也返回false。然后我删除了路径,只留下了文件名,这次它工作,但我找不到文件。我将代码移出测试类并运行它,它工作正常,并且该文件位于当前工作目录中。

在我看来,运行测试方法中的代码会创建除当前目录以外的其他位置的文件。这是问题,我无法找到这些文件。我已经做了深入的搜索,手动通过我的wamp文件夹,仍然找不到它。

如果有人可以帮我在这里,我会很感激。 我在wampserver 2.0i上运行php 5.3.5。 Simpletest是版本1.1 Alpha 3.谢谢。

+1

只需指定fopen的绝对路径? – JohnKlehm

+0

工作。谢谢。仍然想知道文件在哪里。 @John – frostymarvelous

+0

也许是一个许可问题... – Warface

回答

3

您可以拨打getcwd http://php.net/manual/en/function.getcwd.php来获取当前工作目录。

+0

好的,那实际上工作。方法内的cwd是B:\ wamp \ bin \ apache \ Apache2.2.11。我想知道为什么。谢谢。我没有想到简单地检查一下,因为我没有想到它会改变。但为什么在Apache? :? – frostymarvelous

+0

该脚本由apache服务/守护程序执行,因此工作目录通常是可执行文件的位置。 – JohnKlehm

+0

它只是最简单的脚本?为什么我的其他脚本不会出现这种情况?有关于此的任何资源?谢谢。 – frostymarvelous