【发布时间】:2014-12-23 07:38:51
【问题描述】:
我有一个如下的 download.php 文件。当我从 PC 互联网浏览器单击下载.php 页面时,它工作正常并发送单个请求。但是,当我从移动设备单击同一页面时,它会发送两个请求。
$filename ="test.mp3";
LogWriter($filename);
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
当我从 PC 上点击时的日志文件:
时间:2014-12-23 13:20:24||消息:test.mp3
当我从移动设备单击同一文件时的日志文件:
Time: 2014-12-23 13:31:24|| Message: test.mp3
Time: 2014-12-23 13:31:28|| Message: test.mp3
有什么想法吗?请帮忙。
【问题讨论】:
-
我们需要查看发送请求的代码,而不是响应的脚本。
-
这是完整的代码,只是有一个额外的 LogWrite 函数如下:function LogWriter($log_message) { $time_value = (date_default_timezone_set("Asia/Dhaka") * 120); $current_time = date("H:i:s",time() + $time_value); $hour=substr($current_time,0,2); $text_file_name=date('d-m-Y')." ".$hour.".txt"; $current_date_time=date('Y-m-d')." ".$current_time; $fp = fopen($text_file_name,'a'); $writing_info="时间:".$current_date_time."|| 消息:".$log_message."\r\n"; fwrite($fp, $writing_info); fclose($fp); }
标签: php header http-headers