LNMPA环境下PHP语法出现的细节性错误!!!
测试环境:CENTOS 5.5 32 Bitlnmpa一键安装包。问题:
通过fwrite函数向文件中写入换行符时(\r\n),通过Ultraedit打开时发现回车换行是?号,转到十六进行发现是写入的0D 0D 0A ,而正常环境下是0D 0A。我想这是导致我程序出现问题的原因所在。在程序生成的缓存文件中出现多次这种情况。其它LINUX平台没有发现此问题。请高人解决一下,为什么出现这种情况。
所用代码:
文件名i.php
<?php
$filename = 'test.php';
$somecontent = "这后面是换行符\r\n";
// 首先我们要确定文件存在并且可写。
if (is_writable($filename)) {
// 在这个例子里,我们将使用添加模式打开$filename,
// 因此,文件指针将会在文件的开头,
// 那就是当我们使用fwrite()的时候,$somecontent将要写入的地方。
if (!$handle = fopen($filename, 'a')) {
print "不能打开文件 $filename";
exit;
}
// 将$somecontent写入到我们打开的文件中。
if (!fwrite($handle, $somecontent)) {
print "不能写入到文件 $filename";
exit;
}
print "成功地将 $somecontent 写入到文件$filename";
fclose($handle);
} else {
print "文件 $filename 不可写";
}
?>
以上内容是i.php,
在同目录下建立text.php文件
其作用是向test.php文件中写入“这后面是换行符\r\n”\r\n写成了0D 0D 0A 多了个0D
请大家测试,因为有些程序用到缓存的时候会导致一些问题 现在发现\n的问题,写入的是0D0A,正常应该只写一个0A。是不是APACHE的问题 这一个原因很多啊。。一般就是你的这一个程序的格式写得不是很正确。。编译的时候有问题,要么就是你的服务回的环境里面是字符集的设置有问题。 程序是爱聚合的,官方说卖了好几千套,只有几个人的出现这种情况,都是重新安装的环境,我用的LNMPA,安装过程没有报错,实在无法确定,还有我上面的程序有那些问题呢 这一个就要看情况了啊,各种都是有可能的么,PHP的版本那么多,本来在WINDOWS下面和在LINUX下面是有差异的。。
页:
[1]