php - 如何在 phar 文件代码中获取 .phar 文件的真实目录?

标签 php command-line-interface phar

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

相关文章:

php - 将数据库内容放入下拉列表中并显示所选下拉列表中的数据库信息

windows - 在命令行上从 Windows 批处理文件执行远程服务器 php 脚本

PHP Phar - file_exists() 问题

php - 如何正确创建然后需要 PHAR 文件?

php - 根据其他查询的值选择查询

php - Mysql timediff返回两个不同的值

php - 使用 DB::Raw 的安全 Laravel 查询

java - 测试 pico cli 命令,Java

postgresql - 如何在一行中向 PostgreSQL 上创建的用户授予所有权限