2013-07-18 57 views
1

基本上我有下面的代碼將根據它的id值得到一個視頻。使用_GET URL作爲視頻源

<?php 
    if (isset($_GET["id"])) { 
    $id = $_GET["id"]; 
    $video = "vid" . $id; 
    echo "<video controls><source src='{$video}' type='video/mp4'></video>"; 
    } else { 
     echo "File not found."; 
    } 
?> 

所以,如果你去http://www.animesour.com/video.php?id=555.mp4,視頻名爲vid555.mp4將加載(工作)。

但是,當我嘗試在該代碼中加載該URL時,它不會加載視頻。

<video tabindex="0" controls="controls"> 
    <source src="http://www.animesour.com/video.php?id=555.mp4" type="video/mp4"> 
</video> 

任何人都知道如何使它可以工作?

+0

您應該避開$ _GET ['id']:http://www.animesour.com/video.php?id='> JimL

+0

@JimL對不起,我不太滿意遵循你所說的話,你能修改代碼嗎? – Veloncia

+0

https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) – JimL

回答

0

您需要直接加載視頻,當你直接嵌入作爲SRC,因爲你的代碼添加了這樣的輸出,使第二個選項不正確,例如:

的URL直接視頻:http://www.animesour.com/vid555.mp4

<video tabindex="0" controls="controls"> 
    <source src="http://www.animesour.com/vid555.mp4" type="video/mp4"> 
</video> 

如果你仍然想使用video.php?id=555.mp4那麼你需要改變你的PHP讀取流文件。

+0

我該怎麼做,因爲流是我想要的結果。 – Veloncia

+0

所以只需使用文件的直接URL,就像我看到的那樣... – 2013-07-18 20:27:36

+0

無論如何要使用id = 55進行流式傳輸? – Veloncia

0

作爲源的URL不是源。這是一個鏈接到將加載源代碼的腳本。它不需要創建源文件,而需要指向具有視頻的文件結構中的位置。因此,您需要在代碼中構建結構並將其回顯到標記中。

<?php 
    if (isset($_GET["id"])) { 
     $id = $_GET["id"]; 
     $video = "vid" . $id; 
     echo "<video tabindex=\"0\" controls=\"controls\">"; 
     echo "<source src=\"{$video}\" type=\"video/mp4\">"; 
     echo "</video>"; 
    } else { 
     echo "File not found."; 
    } 
?> 
0

我測試你的代碼,並沒有對我的作品(訪問您發佈的URL,或使用URL作爲源)

視頻播放器出現在這兩個,但在視頻播放也不。

0

好吧,我設法做到了。我只是改變了第一代碼

<?php 
$id = $_GET["id"]; 
$file = "vid" . $id . ".mp4"; 

if (file_exists($file)) { 
header('Content-Description: File Transfer'); 
header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment; filename='.basename($file)); 
header('Content-Transfer-Encoding: binary'); 
header('Expires: 0'); 
header('Cache-Control: must-revalidate'); 
header('Pragma: public'); 
header('Content-Length: ' . filesize($file)); 
ob_clean(); 
flush(); 
readfile($file); 
exit; 
} 
?> 

我現在可以從外部的iframe用的?ID = 555 URL鏈接,它就會在視頻文件加載到播放器中。