非常好用的文件下载使用的PHP代码
来源:互联网 发布:淘宝代购only哪家靠谱 编辑:程序博客网 时间:2024/05/16 03:44
/**
* 文件下载
* @param $filepath 文件路径 为绝对或者相对的物理地址(一定是物理地址);
* @param $filename 文件名称 将下载的文件重新命名
*/
function file_down($filepath, $filename = '') {
if(!$filename) $filename = basename($filepath);
if(is_ie()) $filename = rawurlencode($filename);
$filetype = fileext($filename);
$filesize = sprintf("%u", filesize($filepath));
if(ob_get_length() !== false) @ob_end_clean();
header('Pragma: public');
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding: binary');
header('Content-Encoding: none');
header('Content-type: '.$filetype);
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-length: '.$filesize);
readfile($filepath);
exit;
}
/**
* 取得文件扩展
* @param $filename 文件名
* @return 扩展名
*/
function fileext($filename) {
return strtolower(trim(substr(strrchr($filename, '.'), 1, 10)));
}
/**
* IE浏览器判断
*/
function is_ie() {
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if((strpos($useragent, 'opera') !== false) || (strpos($useragent, 'konqueror') !== false)) return false;
if(strpos($useragent, 'msie ') !== false) return true;
return false;
}
/**
* 产生随机字符串
*
* @param int $length 输出长度
* @param string $chars 可选的 ,默认为 0123456789
* @return string 字符串
*/
function random($length, $chars = '0123456789') {
$hash = '';
$max = strlen($chars) - 1;
for($i = 0; $i < $length; $i++) {
$hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}
//用法:
//$filename为相对的或者绝对的物理地址,不能是http地址,否则出错
if($_GET['file'])
{
$filename =$_GET['file'];
//header('Content-type: application/octet-stream');
//header('Content-Disposition: attachment; filename="'.basename($file).'"');
//readfile($file);
$basefilename = basename($filename);
$ext = fileext($basefilename);
$basefilename = $_GET['original_name'];
file_down($filename, $basefilename);
}
- 非常好用的文件下载使用的PHP代码
- 下载文件的php代码
- 使用PHP下载CSS文件中的图片的代码
- 使用PHP下载CSS文件中的图片的代码
- 使用PHP下载CSS文件中的图片的代码
- 非常好的目录导航文件代码
- pHP 请求即下载文件的代码
- php实现文件下载的一段代码
- php实现文件下载的一段代码
- php实现下载远程文件的代码
- php限制文件下载速度的代码
- php文件的下载
- 下载文件的代码
- php 文件下载的相关代码 兼容所有浏览器
- PHP下载CSS文件中图片的代码
- PHP下载CSS文件中图片的代码
- php实现限制文件下载速度的代码实例
- PHP下载文件的两种方法与代码
- css 小知识 集锦
- 【【江南style】】java 练习 矩阵
- 制造自己的wave音频播放器-使用waveOutOpen与waveOutWrite实现
- vim 笔记
- XML编程(CRUD)
- 非常好用的文件下载使用的PHP代码
- 关闭选择的所有应用程序的脚本
- 唠唠叨叨又七夕
- 项目中js错误引起的MyEclipse的卡死
- STL-fill()填充算法以及for_each()算法
- 在linux上配置SVN服务器
- 很全面的视频编码格式表
- oracleDBA关于控制文件被移动的问题
- 一道面试题引发的思考