我不知道在PHP数据库中查找哪个关键字,所以我在这里问.
我想知道的原因是因为操作系统处理文本文档中的新行有多么不同.
我在Windows中使用CSV文件但每次我想添加一个新行时,真正发生的是新行被粘贴到最新行的后面.
原因是,在Windows中,新行是这样的:\r\n
我正在使用的CSVHandler.class.php文件只添加\n
但是,在MAC OS X中,这是新行,这与windows不同.
所以我正在寻找这个,所以我可以实现一个简单的if()
声明并解决这个问题.目前我已经硬编码了\r\n
,但它应该更简单,不是吗?
*"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进行任何操作.除非他们瞄准老屁股.
PHP已经包含了常量PHP_EOL来解决你遇到的问题,从php 4.3.10和PHP 5.0.2开始 - 它包含了运行PHP的服务器的合适的行结束序列.
如果您想使用适合特定客户端的不同行尾序列,那么您必须自己编写代码.确定客户端操作系统的一种方法是使用get_browser,假设您的服务器具有最新的browscap.ini
您可以使用预定义的常量PHP_OS.
我正在使用
if(PHP_OS ==='WINNT'){...}
有关服务器操作系统的信息可以通过以下php_uname()
功能获得:
echo 'I have been run on '.php_uname('s');
它还允许检索版本的完整信息.