我正在尝试创建一个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/