php中php_eol是啥,介绍php 常量PHP_EOL的相关知识点

PHP_EOL表面上用于以跨平台兼容的方式查找换行符,因此它处理DOS / Unix问题。

请注意,PHP_EOL表示当前系统的结束字符。例如,在类似unix的系统上执行时,它不会找到Windows端线。

PHP_EOL当您想要一个新行时,您可以使用,并且您希望跨平台。

这可能是在您将文件写入文件系统(日志,导出,其他)时。

如果您希望生成的HTML可读,则可以使用它。所以,你可以按照你的
一个PHP_EOL。

如果你从cron运行php作为脚本你需要输出一些东西并将其格式化为屏幕,你会使用它。

如果要构建要发送的电子邮件,则可以使用它,这需要一些格式。

我发现PHP_EOL对于文件处理非常有用,特别是如果你要将多行内容写入文件中。

例如,您有一个长字符串,您希望在写入普通文件时分成多行。使用\ r \ n可能无法正常工作,所以只需将PHP_EOL放入脚本中,结果就很棒了。

看看下面这个简单的例子:

$output = 'This is line 1' . PHP_EOL .

'This is line 2' . PHP_EOL .

'This is line 3';

$file = "filename.txt";

if (is_writable($file)) {

// In our example we're opening $file in append mode.

// The file pointer is at the bottom of the file hence

// that's where $output will go when we fwrite() it.

if (!$handle = fopen($file, 'a')) {

echo "Cannot open file ($file)";

exit;

}

// Write $output to our opened file.

if (fwrite($handle, $output) === FALSE) {

echo "Cannot write to file ($file)";

exit;

}

echo "Success, content ($output) wrote to file ($file)";

fclose($handle);

} else {

echo "The file $file is not writable";

}

?>

从main/php.hPHP版本5.6.30和版本7.1.1:

#ifdef PHP_WIN32

#   include "tsrm_win32.h"

#   include "win95nt.h"

#   ifdef PHP_EXPORTS

#       define PHPAPI __declspec(dllexport)

#   else

#       define PHPAPI __declspec(dllimport)

#   endif

#   define PHP_DIR_SEPARATOR '\\'

#   define PHP_EOL "\r\n"

#else

#   if defined(__GNUC__) && __GNUC__ >= 4

#       define PHPAPI __attribute__ ((visibility("default")))

#   else

#       define PHPAPI

#   endif

#   define THREAD_LS

#   define PHP_DIR_SEPARATOR '/'

#   define PHP_EOL "\n"

#endif

正如你可以看到PHP_EOL可以"\r\n"(在Windows服务器上)或"\n"(在其他东西)。在5.4.0RC8 之前的 PHP版本上,可能存在第三个值PHP_EOL:( "\r"在MacOSX服务器上)。这是错误的,并已在2012-03-01 修复,错误61193。

正如其他人已经告诉过你的那样,你可以PHP_EOL在任何类型的输出中使用(其中任何一个值都是有效的 - 比如:HTML,XML,日志......),你需要统一的换行符(在我看来你应该想要这个)。

我只是想显示PHP_EOLPHP源支持的可能值,因为它还没有在这里显示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值