2017-10-10 134 views
0

我在PHP中创建一个CLI应用程序,我想在默认的Web浏览器中打开帮助页面。这与git在运行git help <command>时的作用类似,它在默认浏览器中打开相关的URL。如何从PHP CLI应用程序(异步+跨平台)在默认浏览器中打开URL?

在Python上有webbrowser.open function它照顾它,但我找不到任何PHP包。

这是迄今为止我的做法,但我不能够正确地测试它(即Windows 7中,Debian的,MacOS的,等等),所以它是一种哈克:

<?php 

$uname = strtolower(php_uname()); 
$os = (strpos($uname, "darwin") !== false) ? 'osx' : ((strpos($uname, "win") !== false) ? 'win32' : 'linux'); 
$end = $os == 'win32' ? '' : '&'; 
$cmd1 = sprintf("%s $url $end", $os == 'win32' ? 'start ""' : ($os == 'osx' ? 'open' : 'xdg-open')); 
pclose(popen($cmd1, "r")); 

我的问题是:

  • 是否有一个相当于python的webbrowser库的PHP库,可处理所有操作系统?

  • 是否有另一个更简单的方法来完成它?

+0

Windows中的“start $ url”...你试过了吗?我认为这将是“探险家$ url”.... –

+0

@Kevin_Kinsey是试过了(它也在上面的解决方案中),不幸的是它不是跨平台兼容的。 – supersan

+0

我的观点是,“开始$ url”甚至没有在Windows上工作;在我的系统上,你必须调用“explorer $ url”。 '尼克斯可能是你真正的垮台,尽管...如果X甚至没有跑? –

回答

相关问题