2011-07-19 70 views
0

我解密了我的音頻文件,我現在想播放它,然後取消鏈接。 我目前擁有的是:什麼樣的PHP頭我需要播放音頻文件

<?php 
    $destination = "/tmp_upload_dir_copy/test.mp3" 
    header('Content-Type: audio/mpeg'); 
    readfile($destination); 
    unlink($destination); 
?> 

任何人有任何的想法是什麼,我做錯了或別的什麼我需要什麼?

也許我需要使用fpassthru()?

+1

您遇到的問題是什麼? –

+0

你想在客戶端或服務器上播放嗎? – ianbarker

+1

您需要客戶端的播放器應用程序,或者至少有一個具有自動播放mp3插件的瀏覽器。 –

回答

0

聽起來就像你並不想立即刪除文件,因爲在下載mp3並真正播放它之間,用戶端可能會出現任何錯誤。在很多情況下,用戶可能需要重新啓動文件傳輸。相反,您可能需要設置每晚運行的cron作業並刪除超過一天的mp3文件。 (另外,我不確定你的意思是「解密」音頻文件。)

+0

謝謝馬特。 我在想,這可能像解決方案太多的黑客,但我越想越多,我認爲這是唯一的方法。 – richie

+0

也回答你的問題;我試圖實現的是以安全的方式在服務器上保存音頻文件的能力。這意味着我需要對文件進行加密,然後在需要解密文件時播放這些文件。這會導致文件被刪除後刪除問題,這就是我認爲你的答案給了我唯一的解決方案。唯一的解決方法是給予用戶加密/解密的能力,並且有一個條件,即你不能在更少的文件中解密。但是,這種解決方案將違反規範 – richie

1

PHP只能在服務器端工作。你只能保證文件是SENT給客戶端的,但是沒有辦法直接確定它已經被客戶端播放。

設置標題只會影響瀏覽器如何處理數據(在這種情況下瀏覽器被告知數據是音頻)。例如,Chrome會播放音頻文件,但某些瀏覽器可能會爲用戶提供下載提示。

您需要客戶端軟件,如音頻播放組件(搜索「Flash MP3播放器」)來嵌入頁面以播放音頻文件。