在 PHP 中查找特定于平台的空设备?
Find platform-specific null devices in PHP?
是否有类似 Python 的 os.path.devnull
指向 PHP
(最好是 v5.6
)给定平台的正确空设备?
我在手册中看不到任何明显的内容,phpinfo()
、$_SERVER
或 $_ENV
并且谷歌搜索主要导致 python 参考。我不相信没有这样的事情。我错过了什么?
PHP 没有内置这样的东西。然而,阅读 Python and PHP 源代码揭示了一个非常简单的解决方案:
function devnull()
{
$osToNull = [
// Windows
'WIN' => 'nul',
// OS2, eComStation
'OS2' => 'nul',
// RISC OS
'RISC' => 'null:',
// AmigaOS
'AMIGA' => 'nil:',
// OpenVMS
'VMS' => 'nl:',
// Unix, Netware
// returned if no other OS matches
'default' => '/dev/null',
];
foreach ($osToNull as $os => $nullDevice) {
if (strtoupper(substr(PHP_OS, 0, strlen($os))) === $os) {
return $nullDevice;
}
}
return $osToNull['default'];
}
由于我无法访问以上所有操作系统,如有错误请指正。
是否有类似 Python 的 os.path.devnull
指向 PHP
(最好是 v5.6
)给定平台的正确空设备?
我在手册中看不到任何明显的内容,phpinfo()
、$_SERVER
或 $_ENV
并且谷歌搜索主要导致 python 参考。我不相信没有这样的事情。我错过了什么?
PHP 没有内置这样的东西。然而,阅读 Python and PHP 源代码揭示了一个非常简单的解决方案:
function devnull()
{
$osToNull = [
// Windows
'WIN' => 'nul',
// OS2, eComStation
'OS2' => 'nul',
// RISC OS
'RISC' => 'null:',
// AmigaOS
'AMIGA' => 'nil:',
// OpenVMS
'VMS' => 'nl:',
// Unix, Netware
// returned if no other OS matches
'default' => '/dev/null',
];
foreach ($osToNull as $os => $nullDevice) {
if (strtoupper(substr(PHP_OS, 0, strlen($os))) === $os) {
return $nullDevice;
}
}
return $osToNull['default'];
}
由于我无法访问以上所有操作系统,如有错误请指正。