php读文件中字符串的问题
我先建立一个文件abc内容是123我用$str=file_get_contents('abc');if($str=='123'){echo'等于';}else{echo'...
我先建立一个文件 abc 内容是 123
我用
$str = file_get_contents('abc');
if ($str == '123') {
echo '等于';
} else {
echo '不等于';
}
输出的结果是不等于,这是为什么?
如果我
file_put_contents ('abc', '123');
$str = file_get_contents('abc');
if ($str == '123') {
echo '等于';
} else {
echo '不等于';
}
输出的结果是 等于
那么为什么同样的字符串,我手动建立的文件和用PHP建立的文件是不一样的?
我在vim 里 :set fileencoding 看过了,全是utf-8编码,我原先在windows里没上面那个问题,但是在ubuntu上却不行,我发现php自己创建的文件的属主都是www-data, www-data有读我的帐号创建的文件的权限,所以echo出来,我看到的也是正确的字符串,可是 == 一下,却又不相等阿 展开
我用
$str = file_get_contents('abc');
if ($str == '123') {
echo '等于';
} else {
echo '不等于';
}
输出的结果是不等于,这是为什么?
如果我
file_put_contents ('abc', '123');
$str = file_get_contents('abc');
if ($str == '123') {
echo '等于';
} else {
echo '不等于';
}
输出的结果是 等于
那么为什么同样的字符串,我手动建立的文件和用PHP建立的文件是不一样的?
我在vim 里 :set fileencoding 看过了,全是utf-8编码,我原先在windows里没上面那个问题,但是在ubuntu上却不行,我发现php自己创建的文件的属主都是www-data, www-data有读我的帐号创建的文件的权限,所以echo出来,我看到的也是正确的字符串,可是 == 一下,却又不相等阿 展开
展开全部
file_get_contents 参数是文件名,系统认为‘abc'是文件名,而内容为空,所以不会等于123.
file_put_contents 是把字符串写入文件,所以内容里面包含123,第二个它俩就相等。
file_put_contents 是把字符串写入文件,所以内容里面包含123,第二个它俩就相等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'abc'本来就不等于‘123’呀
file_put_contents ('abc', '123');是一个数组
判断的第一个相等就相当呀
file_put_contents ('abc', '123');是一个数组
判断的第一个相等就相当呀
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
或许是编码问题,你自己建的文件是编码保存的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你保存这个abc的文件格式为utf8,那么读出来就不同了,以UTF8格式储存的文件档首标识为EF BB BF。
参考资料: http://baike.baidu.com/view/742823.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询