Advanced RAR Password Recovery1.53的注册码 ARPR-83296730531875-CBBVYBXFEXDEVPMB
Advanced RAR Password Recovery1.53的注册码 ARPR-83296730531875-CBBVYBXFEXDEVPMB
下面这段代码是不能够返回正确值的代码,无论文件是否在都返回不在:
1 2 3 4 5 6 | <?php;$file="/attachment/21/0/中文.rar";$newfile = dirname(__FILE__).$file;echo file_exists($newfile);?> |
经过测试之后,增加了一句将UTF8编码转换为GB2312编码的语句,就可以正确判断了:
这样看来,程序必须得这样写才能支持所有主流浏览器:
<?php
$ua = $_SERVER["HTTP_USER_AGENT"];// $_SERVER["HTTP_USER_AGENT"]在IE中显示为:
// Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
$filename = "中文 文件名.txt";
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');//if (preg_match("/MSIE/", $ua)) {
//兼容IE11if(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 . '"');
}
print 'ABC';?>