我正在尝试创建一个php可执行文件(一个phar文件)以生成一些文件,并且我想知道如何获取phar文件的真实路径(在phar文件代码内)。

我想做的是在phar文件的同一级别中创建一个文件夹,然后在其中创建新文件,但是realpath(__DIR__.'/../')似乎不起作用。

谢谢

最佳答案

https://stackoverflow.com/a/28775172/282601所示,__FILE__常数具有方案的完整路径:

phar:///home/cweiske/Dev/test/phar/test.phar/path/to/foo.php
__DIR__与之类似:
phar:///home/cweiske/Dev/test/phar/test.phar/path/to

因此,在调用realpath(__DIR__)时,您仍然具有phar://前缀,可防止您加载文件。

您必须删除phar://方案以及.phar内部的文件路径,才能使用__DIR__获得phar位置。

Phar::running(false) 容易得多,它只返回路径:
/home/cweiske/Dev/test/phar/test.phar

关于php - 如何在phar文件代码中获取.phar文件真实目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27838025/

10-11 14:05