我需要隱藏的音頻流的URL,所以我想,既然我有一個使用readfile();
做這樣的下載腳本,我可以做同樣的,但我不知道怎麼樣在javascritpt中操縱這個。事實上,我不知道,甚至不確定是否可以這樣做。使用PHP READFILE躲流URL
到目前爲止,我有一個是由JavaScript訪問從一個ID獲得軌道的網址被點擊播放按鈕時,一個PHP文件。
$T_ID = mysqli_real_escape_string($con, $_GET['t_id']);
$qry = "SELECT url FROM tracks WHERE T_ID = $T_ID";
$result = mysqli_query($con, $qry);
$row = mysqli_fetch_array($result);
$url = $row['url'];
$path_parts = pathinfo($url); //get path info
$file_name = $path_parts['basename']; //only include mp3 track just incase path added in there
$file_path = 'uploads/' . $file_name; //add path
echo $file_path;
來自該網址的網址僅由javascript用於指定new Audio();
。但是,任何知道顯示打開控制檯並查看網絡選項卡的人都可以找到該軌道的URL並下載它。這不是我想要的或我的用戶想要的。
我的初步想法是用readfile($file_path)
替換echo($file_path)
,但我知道它會以某種方式需要在JavaScript中操作。如果PHP將該文件讀取爲二進制文件,那麼JavaScript是否也可以這樣做來傳輸它?
什麼需要通過JavaScript操作?這是沒有意義的。 – Brad
與問題無關:您的代碼有SQL注入問題。考慮消毒'$ T_ID',通過執行類似'$ T_ID = INTVAL($ T_ID)'(如果它是一個小的整數)或更改SQL查詢來' 「SELECT ... WHERE T_ID = \」 $ T_ID \ 「」 '。 – JiminP
@JiminP:他已經在使用'mysqli_real_escape_string()'來清理這個值.. –