设为首页收藏本站

PHPIN.NET

 找回密码
 立即注册
查看: 619|回复: 0

[高级进阶] PHP换行、目录分隔、相对目录

[复制链接]

374

主题

381

帖子

2554

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2554
发表于 2014-10-18 16:47:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
PHP 换行、目录分隔、相对目录

在PHP开发中我们经常遇到处理文件、目录时,操作系统平台不一样,导致开发时没问题,部署时发现和预期的结果不一样。部分就是由于操作系统差异引起的。

各个操作系统平台差异

换行符
Windows
\r\n
Linux
\n
Mac
\r

所以有时候,我们在windows下面打开linux上的文件只有一行就是这个原因。

目录分隔符
Windows
\ 或者 /
Linux
/
Mac
/

如何保持平台一致性?

1、自己根据环境处理换行,目录分隔符
2、通过使用PHP内置跨平台常量
我们有一个原则就是能不自己处理就不自己处理,自己处理容易出错,而且麻烦。所以我们选择已有的PHP常量来处理这些问题。

PHP如何处理?

通过使用以下两个常量来实现平台一致性:

DIRECTORY_SEPARATOR :根据操作系统特性输出目录分隔符
PHP_EOL :根据操作系统输出换行符,可以通过写入文件试试

可以在不同平台执行一下看看:
  1. echo DIRECTORY_SEPARATOR ;
  2. //目录使用范例
  3. echo 'include'.DIRECTORY_SEPARATOR.'conf.php';
复制代码

备注:
换行符的来历

注意:
在PHP开发之中比较一个比较常见的功能就是包含某个文件,多次包含会涉及到一个工作目录和当前执行目录的区别问题,否则容易找不到文件,详情参见:PHP相对目录问题

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|PHPIN.NET ( 冀ICP备00000001号 )|网站地图  

GMT+8, 2016-12-6 00:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表