function fileDown($file_name){ $file_name = iconv("utf-8","gb2312",$file_name); $file_path = "E:/php/down/".$file_name; if(!file_exists($file_path)){ echo "文件不存在"; return; } $fp = fopen($file_path,"r"); $file_size = filesize($file_path); Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: $file_size"); Header("Content-Disposition: attachment; filename=".$file_name); $buffer = 1024; $file_count = 0; while(!feof($fp) && ($file_size - $file_count>0)){ $file_data = fread($fp,$buffer); $file_count += $buffer; echo $file_data; } fclose($fp); } $file_name="sai.png"; fileDown($file_name);
まず BOM ヘッダーがあるかどうかを確認してください
ただし、他のマシンでもこのファイルにアクセスすると開くことができるため、可能性は低いです
BOM を削除しました。ヘッドは確かに正常です。以前は問題がなく、他のマシンでアクセスしたときも問題がなかったのはなぜですか