<?php $realname = "zhuast.exe"; //原始文件名 $filename = "中文 文件名.exe"; //下載到瀏覽器的文件名 $encoded_filename = urlencode($filename); $encoded_filename = str_replace("+", "%20", $encoded_filename); $ua = $_SERVER["HTTP_USER_AGENT"]; if(preg_match("/MSIE/", $ua) || preg_match("/Trident\/7.0/", $ua)){ header('Content-Disposition: attachment; filename="' . $encoded_filename . '"'); } else if (preg_match("/Firefox/", $ua)) { header('Content-Disposition: attachment; filename*="utf8\'\'' . $filename . '"'); } else { header('Content-Disposition: attachment; filename="' . $filename . '"'); } Header("Content-type: application/octet-stream"); header("Content-Transfer-Encoding: binary"); header('Content-Length:'.filesize($realname)); //指定下載文件的大小 //將文件內容讀取出來並直接輸出,以便下載 readfile($realname); ?>
php附件多3個字節問題, 保存的php文件, 要選擇utf-8無bom格式, 若是php文件有bom, 生成的exe也會有bomphp