1

$path我有一个脚本,它可以为给定变量(即:)在磁盘上获取一个 mp3 文件,/var/recordings/file.mp3并将其发送到浏览器以由媒体播放器播放。这是代码:

//Send the media asset to the browser
header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($path));
header('Content-Disposition: filename="recording.mp3"');
header('X-Pad: avoid browser bug');
header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: binary"); 
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
print file_get_contents($path);

我现在以加密形式存储有问题的 mp3 文件,因此我现在将有问题的文件读入字符串并使用加密类对其进行解密。我现在想将此解密后的文件直接发送到浏览器,而不将其输出到文件中,然后让 PHP 读取该文件的内容。可能吗?我会假设我可以这样做print $decrypted_string,但我将如何指定文件大小?

4

1 回答 1

2

首先解密它。然后计算strlen函数的大小。将该值用作Content-Length标题值。

$contents = file_get_contents($path);
$decrypted_string = decrypt_mp3($contents);
header('Content-length: ' . strlen($decrypted_string));
echo $decrypted_string;
于 2013-01-14T20:28:07.013 回答