当前位置:  开发笔记 > 编程语言 > 正文

PHP是否具有检测正在运行的操作系统的功能?

如何解决《PHP是否具有检测正在运行的操作系统的功能?》经验,为你挑选了4个好方法。

我不知道在PHP数据库中查找哪个关键字,所以我在这里问.

我想知道的原因是因为操作系统处理文本文档中的新行有多么不同.

我在Windows中使用CSV文件但每次我想添加一个新行时,真正发生的是新行被粘贴到最新行的后面.

原因是,在Windows中,新行是这样的:\r\n 我正在使用的CSVHandler.class.php文件只添加\n

但是,在MAC OS X中,这是新行,这与windows不同.

所以我正在寻找这个,所以我可以实现一个简单的if()声明并解决这个问题.目前我已经硬编码了\r\n,但它应该更简单,不是吗?



1> 小智..:

*"BTW,nix OS使用\n作为新行.Mc使用\ r \n,Windows - \r \n"

ARRRGH!请停止阅读这个神话!

Mac OS 9使用的就像10年前一样,但没有人再使用OS9了.MACS使用UNIX行结束.\n.今天使用的"Mac"应该指代当代计算机,就像"Windows"指的是XP或vista,除非另有限定.

说Mac使用\ r是正确的说法"Windows运行在MS-DOS之上,只支持FAT16文件系统,并且没有64位支持."

在任何情况下,任何人都不应该使用\ r进行任何操作.除非他们瞄准老屁股.



2> Paul Dixon..:

PHP已经包含了常量PHP_EOL来解决你遇到的问题,从php 4.3.10和PHP 5.0.2开始 - 它包含了运行PHP的服务器的合适的行结束序列.

如果您想使用适合特定客户端的不同行尾序列,那么您必须自己编写代码.确定客户端操作系统的一种方法是使用get_browser,假设您的服务器具有最新的browscap.ini



3> 小智..:

您可以使用预定义的常量PHP_OS.

我正在使用

if(PHP_OS ==='WINNT'){...}



4> Zyx..:

有关服务器操作系统的信息可以通过以下php_uname()功能获得:

echo 'I have been run on '.php_uname('s');

它还允许检索版本的完整信息.

推荐阅读
喜生-Da
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有