2017-10-10 34 views
0

PHPでCLIアプリケーションを作成しています。デフォルトのWebブラウザでヘルプページを開きたいとします。これは、git help <command>を実行してデフォルトのブラウザに関連するURLを開くときのgitの動作と似ています。PHP CLIアプリケーション(非同期+クロスプラットフォーム)からデフォルトブラウザでURLを開くにはどうすればよいですか?

pythonには、それを処理するwebbrowser.open functionがありますが、PHP用のパッケージが見つかりませんでした。

これは、これまでのところ、私のアプローチですが、私はきちんと(ETCすなわち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")); 

私の質問は次のとおりです。

+0

"start $ url" Windows ...あなたはそれを試しましたか?私はそれが "explorer $ url"であると思っていた.... –

+0

@Kevin_Kinseyはいそれを試みた(それは上の解決でもある)、残念ながらそれはクロスプラットフォームと互換性がない。 – supersan

+0

私の主張は、 "start $ url"はWindows上では動作しませんでした。私のシステムでは "explorer $ url"と呼ぶ必要があります。 'Nixは本当に没落するかもしれない...もしXが走っていないのであれば? –

答えて

1

は、ここでは、この機能を提供する二つの小さなライブラリです特集。

関連する問題