[英]how to get a .phar file real directory within the phar file code?
我正在嘗試創建一個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://
scheme以及.phar
文件的路徑以獲取具有__DIR__
的phar位置。
更簡單的是Phar::running(false)
,它只返回路徑:
/home/cweiske/Dev/test/phar/test.phar
答案是
$string = 'phar://E:/php/www/my.phar';
$string = pathinfo($string);
$_dir_ = parse_url($string['dirname']);
echo $_dir_['host'].':/'.$_dir_['path'];
結果
E:/php/www
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.