* .wav文件在php

问题描述:

中无法正常运行当试图在我们的网络服务器上查看* .wav URL时,数据无法正常传输。* .wav文件在php

我们在php5.10中使用apache2。在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/任何.wav文件文件路径通过网络浏览器访问。

当试图在firefox或chrome中听取任何* .wav文件(尚未测试其他操作系统)时,插件错误:“未找到位置”。但是,右键单击并选择“将链接另存为”可让用户下载.wav文件。

有什么想法?

编辑:

getPassed是返回从$ _GET或$ _POST

+0

它可让您下载_working_ WAV文件或只是一个具有.wav扩展名的文件? – zneak 2010-07-22 20:54:11

+0

正在工作的wav文件 – Manbeardo 2010-07-22 21:05:05

我认为你需要一对夫妇更头此功能工作,不是100%肯定,因为我从来没有变量的函数试图流式传输一个文件。

header('Content-Type: audio/wav'); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Length: " . filesize($image) ."; "); 
header('filename="'.$image . '"; ');

这是值得一试,尝试与这些无论哪种方式。您可能还想尝试一种Content-Type: application/octet-stream;的内容类型,您可能还想尝试使用readfile_chunked()(php.net上的用户贡献函数)“分块”文件,并查看这可能是否有帮助。

希望它有帮助。