我用php写了个下载文件的代码 运行的时候浏览器跳出下载提示框 但是点下载就没有进度
<?php
$filename='1';
$file='upload/'.$filename.'.'.'jpg';
if (file_exists($file)) {
header('Content-Description:File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment;filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires:0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma:public');
header('Content-Length: '.filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
?>
代码是网上copy的,文件路径确定是对的
那个图片是在搜狗浏览器里出的提示框,
可以下载,但是下的是一个略缩图,不是原文件
其他浏览器下载都说下载失败
追问:我是从localhost/打开滴,而且下载大概5k或更小的文件时一切正常,文件大一点就不行了是iis,怎么做呢?应该 iis7吧,win7自带的。
现在的问题在于如果是个小文件比如5k左右的是下载正常的,如果大到20k这样的,ie就下不了,显示任务失败,firefox和chrome会下载下来一个严重缩水的大概3-4k的文件。昨天有试了试,发现用迅雷下的话能把完整的文件下载下来。好奇怪
答案:找到apache配置文件,添加:
AddHandler php5-script php
AddType application/x-httpd-php .php .php5
AddType application/x-httpd-php-source .phps
其他:PHP不能直接在浏览器中打开,要先建立internet信息服务器(如iis),设置好在浏览器中输入地址来打开,具体的有点复杂,你可以联系我,也可以网站找教程!
上一个:PHP! 麻烦问一下我用检测DNS的函数检测为什么不对啊!哪位大侠帮我看看啊!
下一个:如何用php向服务器发送post请求