PHP 关于文件下载的问题 本帖最后由 sevenan 于 2010-05-02 13:34:34 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $fp = fopen($upfile_path.$upfile_name,"r"); 多谢回复!我的错..刚贴的时候没注意到!应该是 $fp = fopen($upfile_path.$upfile_name,"r"); //打开文件可不是这个地方的问题啊! 那下載下來後的文件內容是什麼...你下載頁訪問的URI 的什麼... 下载下来的就是 download.php 这个下载控制脚本,想不通为什么...先根据ID,再到数据库中找对应文件的名字及存储路径,然后下载,就是上面的代码。 是不是沒有開啟server applicationserver application 是不是不能解析PHP檔案是不是訪問html時沒有通過server application比如說 D:\www\download.html寫個phpinfo.php<?php phpinfo(); ?> 跑一下 把else中的语句干掉 贴上下面的 我刚才拷贝了你的代码 总是有问题 特别是这两句$fp = fopen($upfile_path.$upfile_name,"r"); //打开文件Header("Content-type: application/octet-stream"); $fp = fopen($upfile_path.$upfile_name, "r"); //打开文件Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length: ".filesize($upfile_path.$upfile_name));Header("Content-Disposition: attachment; filename=" .$upfile_name);echo fread($fp,filesize($upfile_path.$upfile_name));fclose($fp);exit; 不好意思,还是不行!通过ID,找出了数据库中要下载文件的名称及路径,可就到点击下载的时候变成了 download.php 的下载框,想不通怎么会这样.. $upfile_name = "1.txt"; //文件名$upfile_path = ""; //文件存放路径$fp = fopen($upfile_path.$upfile_name, "r"); //打开文件Header("Content-type: application/octet-stream");Header("Accept-Ranges: bytes");Header("Accept-Length: ".filesize($upfile_path.$upfile_name));Header("Content-Disposition: attachment; filename=" .$upfile_name);echo fread($fp,filesize($upfile_path.$upfile_name));fclose($fp);exit;你试试把文件名和路径写出来 单独运行测试下 咦~单独测试竟然也是下载download.php。我在WINDOWS下再试试~ 你的download.php放在服务器上了吗 先甭下载了把从db里取出来的$upfile_path.$upfile_name打印出来看看 我使用楼主的代码没问题。难道楼主的服务器解析html文件?如果不行,可能是配置问题。把楼主的phpinfo贴出来看看。 文件中我把Header("Content-Disposition: attachment; filename=" .$upfile_name);顺手写成了upfilename..导致出现上述问题。再次感谢各位的亲临指导! 是不是新PHP屏蔽SQL注入了??? 奇怪,奇怪。PHP+SMARTY时出现了一个奇怪的问题! <晕呀>导入 书写格式问题。。。。 诚聘php高级程序设计师 Allowed memory size of 8388608 bytes exhausted?? 账号绑定IP的实现方法 怎么获得指定路径下的文件信息? 请大侠帮我解决一个数据库的问题 关于调用MySql存储过程 安装PHP5以后,启动阿帕奇报错 防刷新计数器出现问题 [百度分享]PHP函数的实现原理及性能分析(五)-总结及建议
应该是 $fp = fopen($upfile_path.$upfile_name,"r"); //打开文件
可不是这个地方的问题啊!
你下載頁訪問的URI 的什麼...
先根据ID,再到数据库中找对应文件的名字及存储路径,然后下载,就是上面的代码。
server application 是不是不能解析PHP檔案
是不是訪問html時沒有通過server application
比如說 D:\www\download.html寫個phpinfo.php
<?php phpinfo(); ?> 跑一下
特别是这两句
$fp = fopen($upfile_path.$upfile_name,"r"); //打开文件
Header("Content-type: application/octet-stream");
$fp = fopen($upfile_path.$upfile_name, "r"); //打开文件
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($upfile_path.$upfile_name));
Header("Content-Disposition: attachment; filename=" .$upfile_name);
echo fread($fp,filesize($upfile_path.$upfile_name));
fclose($fp);
exit;
通过ID,找出了数据库中要下载文件的名称及路径,可就到点击下载的时候变成了 download.php 的下载框,想不通怎么会这样..
$upfile_name = "1.txt"; //文件名
$upfile_path = ""; //文件存放路径
$fp = fopen($upfile_path.$upfile_name, "r"); //打开文件
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($upfile_path.$upfile_name));
Header("Content-Disposition: attachment; filename=" .$upfile_name);
echo fread($fp,filesize($upfile_path.$upfile_name));
fclose($fp);
exit;你试试把文件名和路径写出来 单独运行测试下
我在WINDOWS下再试试~
把从db里取出来的$upfile_path.$upfile_name打印出来看看
难道楼主的服务器解析html文件?如果不行,可能是配置问题。把楼主的phpinfo贴出来看看。
顺手写成了upfilename..导致出现上述问题。
再次感谢各位的亲临指导!