******php 下载文件***********

johnleeqq 2008-03-27 12:59:44
如题;
应用程序中把语音文件路径写入到数据库。如:D:\vo\008.wav(绝对路径!)
那么我在web程序中如何下载这个文件。

搞了一个上午,无果。。 1 <a href ....> ? 2 download.php??
Thanks in advance ....
...全文
79 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
asmcai 2008-03-27
  • 打赏
  • 举报
回复

$sFilePath = $_GET['pt']; //要下载的文件名 -------d:/voc/a.wav
$file = fopen($sFilePath,"r");

Header("Content-type: application/audio/wavaudio/waveaudio/x- wav ");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($sFilePath));
Header("Content-Disposition: attachment; filename=" .$File);

echo fread($file,filesize($sFilePath));
fclose($file);

asmcai 2008-03-27
  • 打赏
  • 举报
回复

$sFilePath = $_GET['pt']; //要下载的文件名 -------d:/voc/a.wav
$file = fopen($sFilePath,"r");

Header("Content-type: application/audio/wavaudio/waveaudio/x- wav ");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($sFilePath));
Header("Content-Disposition: attachment; filename=" .$File);

echo fread($file,filesize($sFilePath));
fclose($file);
asmcai 2008-03-27
  • 打赏
  • 举报
回复

$sFilePath = $_GET['pt']; //要下载的文件名 -------d:/voc/a.wav
$file = fopen($sFilePath,"r");

Header("Content-type: application/audio/wavaudio/waveaudio/x- wav ");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($sFilePath));
Header("Content-Disposition: attachment; filename=" .$File);

echo fread($file,filesize($sFilePath));
fclose($file);
johnleeqq 2008-03-27
  • 打赏
  • 举报
回复
关键是每次它都跳出来 down.php
johnleeqq 2008-03-27
  • 打赏
  • 举报
回复
1、开通了IIS没?及PHP呢? ------------------------------ 配置文件里要开通下载功能 ?? :)
2、注意添加WAV的MIME文件。在IIS属性“HTTP头”里面 ???
4、IIS的虚拟目录设置在哪了?别在C盘吧?如果在D盘,下面,PHP也有读写权限,那么下载不了,就是因为MIME的原因了。添加个.wav 就OK了。 ------------------

看代码吧:
$sFilePath = $_GET['pt']; //要下载的文件名 -------d:/voc/a.wav
$file = fopen($sFilePath,"r");

Header("Content-type: application/audio/wavaudio/waveaudio/x- wav ");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($sFilePath));
Header("Content-Disposition: attachment; filename=" .$File);

echo fread($file,filesize($sFilePath));
fclose($file);

兄弟阿。你说的似乎很有道理。但是说的详细点吧。iis。非apache。
wangyouworld 2008-03-27
  • 打赏
  • 举报
回复
1、开通了IIS没?及PHP呢?
2、注意添加WAV的MIME文件。在IIS属性“HTTP头”里面
3、NTFS文件系统的问题,PHP需要有读权限。FAT的没问题。
4、IIS的虚拟目录设置在哪了?别在C盘吧?
如果在D盘,下面,PHP也有读写权限,那么下载不了,就是因为MIME的原因了。添加个.wav 就OK了。
johnleeqq 2008-03-27
  • 打赏
  • 举报
回复
相对路径???麻烦说的详细一点。。。。
因为,录音文件会在几个盘里,D,E,F都有可能。 不用绝对路径将来可能会有麻烦。。。
yzazl 2008-03-27
  • 打赏
  • 举报
回复
客户端应该不认识D:\vo\008.wav这个吧
用相对路径吧http://localhost/wav/008.wav

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧