菜鸟问PHP的一个简单的问题? 我想做个php简单的下载功能,因为是初学,摸索了好长时间,网上的代码不成功,谁能给个完成的代码啊,谢谢啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 header 类型读 file echo 就这几步了 这个一点也不简单 哈哈直接link过去就下载了 比如 http://www.yourdomain.com/dl/you_want_to_DL_fileName.txt function download($filename){ $timestamp=time(); ob_end_clean(); header('Last-Modified: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT'); header('Cache-control: max-age=86400'); header('Expires: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT'); header('Content-Encoding: none'); $basename = basename($filename); $fileext = substr(strrchr($basename,'.'),1); $filesize = filesize($filename); if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')!==false && $fileext=='torrent' ){ $attachment='inline'; } else{ $attachment='attachment'; } header('Content-Disposition: '.$attachment.'; filename='.$basename); header('Content-type: '.$fileext); $filesize && header('Content-Length: '.$filesize); readfile($filename); exit;} 去 http://www.w3school.com.cn/ 哪里的东西好多! function download($filename){ $timestamp=time(); ob_end_clean(); header('Last-Modified: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT'); header('Cache-control: max-age=86400'); header('Expires: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT'); header('Content-Encoding: none'); $basename = basename($filename); $fileext = substr(strrchr($basename,'.'),1); $filesize = filesize($filename); if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')!==false && $fileext=='torrent' ){ $attachment='inline'; } else{ $attachment='attachment'; } header('Content-Disposition: '.$attachment.'; filename='.$basename); header('Content-type: '.$fileext); $filesize && header('Content-Length: '.$filesize); readfile($filename); exit;} 最简单的验证登陆之后echo 一个字符串,你的下载文件地址。验证不通过,不echo. 最简单的方式,可以不用header,在服务器端把东东打包成rar文件,然后给“下载”加个相对路径的超链接,你点击他试试,保准能将这个rar文件下载下来 下载功能可以不用PHP,做个文件的链接就可以了,点击之后浏览器自动弹出下载窗口,除了图片,图片是直接显示在浏览器里 <?php$filename=$_GET["filename"];if (!file_exists($filename)) { echo $filename; error_log("Error: file " . $file_path . " not found!", 0); exit; } $filesize=filesize($filename);$fp = fopen($filename, 'rb');header("Content-Type:text/plain"); header("Accept-Ranges:bytes"); header("Accept-Length:".filesize($filename)); header("Content-Disposition:attachment;filename=".basename($filename)); flock($fp, 2);$attachment = @fread($fp, $filesize); echo $attachment;fclose($fp); ?>你传一个文件名过去就可以了 恩,lvxia0102说的对,但这个我写了,实现不了,说文件找不到,不知道怎么回事,才问的,这是我的代码,帮我看看:<html><head></head><body><?php$file_name='SheepWar2.rar';$file_dir='\\10.0.40.108\d$\EAins';$file_dir = $file_dir."/";if (!file_exists($file_dir.$file_name)) { //检查文件是否存在 echo "文件找不到"; exit;} else { $file = fopen($file_dir . $file_name,"r"); // 打开文件 // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($file_dir . $file_name)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo fread($file,filesize($file_dir . $file_name)); fclose($file); exit();}?></body></html> php中的js判断 php登录退出 哪能搞到 spl 源码 我想设置discuz用户每发帖一次就奖励5个积分 <a href=about.php?id= ></a> 提问 怎么同时删除两个mysq数据库表中的相同数据! 求一个排列组合的算法 急需项目经理(有PHP程序经验),月薪4000~6000,大家有兴趣么? 如何关闭窗口,才不会提示"确认关闭"??? 用COM调用word.application,出现拒绝访问错误,然后系统有个占用90%cpu的Winword进程,怎么回事? 关于数据库链接包含到文件 引用的问题 PHP中如何定义这样的变量在其他页面调用
echo 就这几步了
直接link过去就下载了 比如 http://www.yourdomain.com/dl/you_want_to_DL_fileName.txt
function download($filename){
$timestamp=time();
ob_end_clean();
header('Last-Modified: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT');
header('Cache-control: max-age=86400');
header('Expires: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT');
header('Content-Encoding: none');
$basename = basename($filename);
$fileext = substr(strrchr($basename,'.'),1);
$filesize = filesize($filename);
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')!==false && $fileext=='torrent' ){
$attachment='inline';
} else{
$attachment='attachment';
}
header('Content-Disposition: '.$attachment.'; filename='.$basename);
header('Content-type: '.$fileext);
$filesize && header('Content-Length: '.$filesize);
readfile($filename);
exit;
}
$timestamp=time();
ob_end_clean();
header('Last-Modified: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT');
header('Cache-control: max-age=86400');
header('Expires: '.gmdate('D, d M Y H:i:s',$timestamp+86400).' GMT');
header('Content-Encoding: none');
$basename = basename($filename);
$fileext = substr(strrchr($basename,'.'),1);
$filesize = filesize($filename);
if(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')!==false && $fileext=='torrent' ){
$attachment='inline';
} else{
$attachment='attachment';
}
header('Content-Disposition: '.$attachment.'; filename='.$basename);
header('Content-type: '.$fileext);
$filesize && header('Content-Length: '.$filesize);
readfile($filename);
exit;
}
验证登陆之后
echo 一个字符串,你的下载文件地址。
验证不通过,不echo.
在服务器端把东东打包成rar文件,然后给“下载”加个相对路径的超链接,你点击他试试,保准能将这个rar文件下载下来
点击之后浏览器自动弹出下载窗口,除了图片,图片是直接显示在浏览器里
$filename=$_GET["filename"];
if (!file_exists($filename)) {
echo $filename;
error_log("Error: file " . $file_path . " not found!", 0);
exit;
}
$filesize=filesize($filename);
$fp = fopen($filename, 'rb');
header("Content-Type:text/plain");
header("Accept-Ranges:bytes");
header("Accept-Length:".filesize($filename));
header("Content-Disposition:attachment;filename=".basename($filename));
flock($fp, 2);
$attachment = @fread($fp, $filesize);
echo $attachment;
fclose($fp); ?>
你传一个文件名过去就可以了
但这个我写了,实现不了,说文件找不到,不知道怎么回事,才问的,这是我的代码,帮我看看:<html>
<head></head>
<body>
<?php
$file_name='SheepWar2.rar';
$file_dir='\\10.0.40.108\d$\EAins';
$file_dir = $file_dir."/";
if (!file_exists($file_dir.$file_name)) { //检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>
</body>
</html>