PHP 下载功能代码不兼容360浏览器,但火狐可以
如题,火狐正常,360提示未知大小,下载失败。
核心代码如下,大部分都是网上乱摘乱拿的。大神们看看什么问题导致
$fileName = $name ? $name : pathinfo($file,PATHINFO_FILENAME);
$filePath = realpath($file);
$fp = fopen($filePath,'rb');
if(!$filePath || !$fp){
header('HTTP/1.1 404 Not Found');
echo ' <script type="text/javascript">alert("找不到文件");</script>';
exit;
}
$fileName = $fileName .'.'. pathinfo($filePath,PATHINFO_EXTENSION);
$encoded_filename = urlencode($fileName);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
set_time_limit(0);
ini_get("memory_limit","512M");
header('HTTP/1.1 200 OK');
header("Content-type: application/octet-stream");
header("accept-Ranges: bytes");
header("Content-Length: ".filesize($filePath));
/* header("Accept-Length: ".filesize($filePath)); */
header( "Pragma: public" );
header( "Expires: 0" );
header('Content-Transfer-Encoding: binary');
$ua = $_SERVER["HTTP_USER_AGENT"];
if (preg_match("/MSIE/", $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 . '"');
}
fpassthru($fp);
fclose ( $file );
核心代码如下,大部分都是网上乱摘乱拿的。大神们看看什么问题导致
$fileName = $name ? $name : pathinfo($file,PATHINFO_FILENAME);
$filePath = realpath($file);
$fp = fopen($filePath,'rb');
if(!$filePath || !$fp){
header('HTTP/1.1 404 Not Found');
echo ' <script type="text/javascript">alert("找不到文件");</script>';
exit;
}
$fileName = $fileName .'.'. pathinfo($filePath,PATHINFO_EXTENSION);
$encoded_filename = urlencode($fileName);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
set_time_limit(0);
ini_get("memory_limit","512M");
header('HTTP/1.1 200 OK');
header("Content-type: application/octet-stream");
header("accept-Ranges: bytes");
header("Content-Length: ".filesize($filePath));
/* header("Accept-Length: ".filesize($filePath)); */
header( "Pragma: public" );
header( "Expires: 0" );
header('Content-Transfer-Encoding: binary');
$ua = $_SERVER["HTTP_USER_AGENT"];
if (preg_match("/MSIE/", $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 . '"');
}
fpassthru($fp);
fclose ( $file );
...全文
相关推荐
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
favdb文件就是这样一个SQLite数据库,存储了360浏览器用户的书签信息。要将favdb文件转换为HTML,我们可以利用PHP的文件操作函数和JSON解析功能。
DriveDirectLink:DriveDirectLink网盘直链下载,支持谷歌,蓝奏云,360云盘
本文介绍了一段PHP代码,用于实现网盘直链下载功能。支持谷歌网盘、蓝奏云和360网盘的链接解析与下载。代码包含多个函数,如发送POST请求、获取直接下载链接等,并设置了请求头、超时时间和用户代理。
360全景 php版本
压缩包中的“服务器版(360全景软件)”可能包含以下组件:1. PHP源代码:实现图像处理、用户交互、数据存储等功能。2. 数据库脚本:用于创建和初始化数据库结构。3.
360通用php防护代码
360通用php防护代码-----------------使用方法------------------------------------------------------------------1
360通用php防护代码(使用操作详解)
获取源文件文章最后提示读者可以通过点击链接下载360_safe3.php源文件,以便进行详细研究和使用。6.


基础编程
