【发布时间】:2010-07-22 20:28:07
【问题描述】:
尝试在我们的网络服务器上查看 *.wav 网址时,数据无法正确传输。
我们正在使用 apache2 和 php5.10。其中apache重写规则是:
RewriteRule ^(.+)\.(wav)$ /wav.php?wav=$1.$2 [L,NC]
而来自wav.php的相关代码是:
<?php
$image = getPassed("wav");
header( 'Content-Type: audio/wav');
set_include_path("/");
readfile($image, true);
exit;
?>
当通过网络浏览器访问 server.company.com/filepath 时,这应该返回服务器上的任何 .wav 文件。
当尝试在 ubuntu 中收听 firefox 或 chrome 中的任何 *.wav 文件(尚未测试其他操作系统)时,插件错误:“找不到位置。”但是,右键单击并选择“将链接另存为”允许用户下载 .wav 文件。
有什么想法吗?
编辑:
getPassed 是一个从 $_GET 或 $_POST 返回变量的函数
【问题讨论】:
-
它可以让你下载一个工作 WAV文件或者只是一个扩展名为.wav的文件?
标签: php apache2 rewrite wav readfile