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"));
私の質問は次のとおりです。
すべてのOSを処理するPythonの
webbrowser
ライブラリに相当するPHPライブラリがありますか?もう少し簡単なアプローチがありますか?後者はより完全であるように
- https://packagist.org/packages/yuloh/open(
composer require yuloh/open
) - https://packagist.org/packages/florianv/open(
composer require florianv/open
)それは私には見えます
:
- https://packagist.org/packages/yuloh/open(
"start $ url" Windows ...あなたはそれを試しましたか?私はそれが "explorer $ url"であると思っていた.... –
@Kevin_Kinseyはいそれを試みた(それは上の解決でもある)、残念ながらそれはクロスプラットフォームと互換性がない。 – supersan
私の主張は、 "start $ url"はWindows上では動作しませんでした。私のシステムでは "explorer $ url"と呼ぶ必要があります。 'Nixは本当に没落するかもしれない...もしXが走っていないのであれば? –