2013-07-08 81 views
-1

我需要從網站上保護我的視頻文件。所以,我需要解碼我的文件名稱。我使用了下面的代碼。但視頻不能播放。隱藏源文件鏈接中的文件名

<?php 
    $str1 = 'movie.mp4'; 
    $enc1 = base64_encode($str1); 
    $str2 = 'movie.swf'; 
    $enc2 = base64_encode($str2); 
    $str3 = 'movie.ogg'; 
    $enc3 = base64_encode($str3); 
    $str4 = 'movie.webm'; 
    $enc4 = base64_encode($str4); 
    echo "<video width='320' height='240' controls> 
     <source src='".$enc1."' type='video/mp4'> 
     <source src='".$enc3."' type='video/ogg'> 
     <source src='".$enc4."' type='video/webm'> 
     <object data='".$enc1."' width='320' height='240'> 
     <embed src='".$enc2."' width='320' height='240'> 
     </object></video> "; 
?> 
+0

您需要通過重定向腳本來處理base64_encoded文件名並將其轉換回原來的名稱或將您的文件重命名爲base64編碼名稱 – DevZer0

回答

1

視頻未播放的原因是因爲您在src中指定的文件不存在,因爲它是編碼的字符串而不是實際的文件名。

0

通過這種方式文件未找到錯誤將發生嘗試做下面給出的東西。

你可以做一件事做一個函數讀取字節的視頻文件N回玩家只要通過視頻名稱爲N路徑功能N播放視頻,而無需任何URL如流

+0

我不知道如何製作函數。請幫幫我。如果你有任何示例代碼,請給我。 – Velmurugan

1

試圖「隱藏」一個文件名是毫無意義的。如果您希望用戶可以觀看視頻,用戶需要一些可以訪問該文件的URL。該URL將始終由用戶定義爲公開且可見,否則無法用於訪問任何內容。那個URL完全取決於你。它可以是文件的真實名稱,也可以是某種與服務器上的文件關聯的隨機ID。這對用戶無關緊要。重要的是,訪問URL時會提供所請求的數據。

如果您只想將文件僅顯示給特定用戶,那麼您正在尋找授權系統,而不是用於混淆網址。