麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
谁能告诉我\r和\n有什么区别啊?
悬赏分:20 - 2007年08月09日

看看以下一个类定义:
class decode_mail
{
var $header=array();
var $body;
var $n;

function decode_mail($file,$onlyheader=false)
{
$str=file($file);//读出邮件的每一行,$file为本地邮件
$is_header=true;
$body="";
$key="";
foreach($str as $str1)
{
if(trim($str1)==""){$is_header=false;}
if($is_header)
{
if(preg_match("/([a-zA-Z\-]{2,}):/",$str1,$regs))
{
$key=strtolower($regs[1]);
$header["$key"]=trim(str_replace($regs[0],"",$str1));
}
else{$header[$key].="\n".trim($str1);}
}
else if(false==$onlyheader){$body.=$str1;}// if($is_header)
}//foreach

$this->decode_header($header);
if(($body!=="")&&(false==$onlyheader))$this->decode_body($body);
unset($header,$body);
}//get_mail()
}//end of class
注意那行:else{$header[$key].="\n".trim($str1);}
我想是因为如果某些字段的参数和值太长的话,就会在每一行加一个\r(是\r还是\n?),然后再接着其他的参数和值,譬如
Content-Type:multipart/mixed;
boundary="----abcs_juijukKLJhjkJjkhjkkjKJkhy#%^&*(()%4551234567456"
这个Content-Type:应该是一行的,由于太长了,所以在;后从新一行(是\r吗?)
那么\r和\n有什么区别呢?
为什么要$header[$key].="\n".trim($str1);要用"\n".呢?

这个类是lwg888发给我的,如果lwg888看见了,请告诉我,其他高手也回答帮我解答,谢谢!

提问者:Mickey   08-09 16:04
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
35 + 64 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM