admin 发表于 2014-10-18 16:47:38

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

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

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

各个操作系统平台差异

换行符

Windows\r\n
Linux\n
Mac\r

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

目录分隔符

Windows\ 或者 /
Linux/
Mac/

如何保持平台一致性?

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

PHP如何处理?

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

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

可以在不同平台执行一下看看: echo DIRECTORY_SEPARATOR ;
//目录使用范例
echo 'include'.DIRECTORY_SEPARATOR.'conf.php';
备注:
换行符的来历

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