为什么使用echo,不必要的字符串长度's的数字也包括在消息中


Why using echo, unnecessary string length's number also include in message?

我编写了一个简单的PHP脚本来解压缩所有.zip文件,并在过程失败或成功时打印出消息。但是我收到了这个奇怪的消息,其中包括字符串长度数字。

这不是什么大事,脚本仍然工作,但我想知道为什么会发生这种情况。即使我只是将文本写入日志文件,并且没有向浏览器返回任何内容(第15行),也会发生这种情况。日志文件中的文本没有问题。有人能帮我吗?我是个新手。

感谢
<?php
$zip = new ZipArchive;
$destdir = getcwd();
$t = time();
date_default_timezone_set('Asia/Saigon');
$date = date('d/m/Y H:i:s', time());
foreach (glob("*.zip") as $zipfilename) {
    if ($zip->open($zipfilename) === True) {
    $zip->extractTo($destdir);
    $zip->close();
    echo "Unpack file at " .$date. " in " .$destdir. ". File name : " . $zipfilename . " successfully </br>";
    /*Write status of unpacking process to log file */
    $logfile = fopen("unpack log.txt", "a");
    echo fwrite($logfile, "Unpack file at ".$date." in ".$destdir.". File name : ". $zipfilename." successfully"."'n");
    fclose($logfile);
    }
    else {
    $logfile = fopen("unpack log.txt", "a");
    echo fwrite($logfile, "Unpack file at ".$date." in ".$destdir.". File name : ". $zipfilename." failed");
    fclose($logfile);
    }
 }
?>

解压文件21/05/2015 23:10:18 in {dir}。文件名:2.zip成功119解压文件21/05/2015 23:10:18在{dir}。文件名:3.zip119

http://php.net/manual/en/function.fwrite.php

fwrite()返回写入的字节数,如果出错则返回FALSE。

您正在回显fwrite的返回,这就是为什么它显示写入的字节