我正在使用php来播放mp3文件。加载页面时,我一直遇到问题,它两次执行我的日志记录功能。这将导致日志中出现重复的条目。我简化了我的代码,以便在此处发布。
当我执行以下php文件时,它会在浏览器中完美播放“ test.mp3”。我的error_log中没有错误。
<?php
header('Content-type: audio/mpeg');
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');
print readfile("test.mp3");
$logentry = date("l jS \of F Y h:i:s A") . " Play Successful\n";
file_put_contents('play.log', $logentry, FILE_APPEND);
?>
加载上面的php一次后查看我的play.log文件,我得到了:
Monday 24th of August 2020 03:57:10 AM Play Successful
Monday 24th of August 2020 03:57:10 AM Play Successful
重复的条目。 为了进一步隔离,我注释了“ header('Content-type:audio / mpeg');”行,然后网页按预期方式直观地加载二进制mp3文件(一堆随机字符)。当我检查日志文件时,我看到它做了一个应有的条目。
为什么使用“ header('Content-type:audio / mpeg');”的任何想法导致两次浸洗? 在Chrome和Edge中加载脚本时会发生这种情况。使用Safari,我得到了笔挺的条目。 IE浏览器我应该得到一个条目。
我如何才能使其在所有浏览器中可靠地运行以获取准确的日志?