2011-02-09 40 views
0

我正在嘗試構建一個解決方案來嵌入我的(下載的)flash視頻播放器。 (這是JW播放器...)通過PHP祕密添加(額外)HTTP GET變量到swf文件

現在,當有人想嵌入錄像機時,他們必須包含swf和所有添加的flashvars(例如:www.site.be/core/swf/player.swf ?streamer = url & file = file.mp4 & image = file.jpg & plugin = analytics ...)。 這是凌亂,而且感覺有點冒險......人誰知道他們在做什麼,也可以僅僅刪除插件和其他的附加數據,解決我不能夠跟蹤瀏覽量等

我的解決方法是像這樣的:

$data = file_get_contents('URL'); 
header("content-type: application/x-shockwave-flash"); 
echo $data; 

事實證明,當我使用的file_get_contents定期測試文件info.php的,通過響應一個$ _GET [「變種」],將上述代碼工作,但是當我用它在FlashPlayer上,它不...

如:flash文件似乎不接受(或響應)添加的頭部變量。 ..

有人可以告訴我這是爲什麼嗎?這是'閃存'相關問題還是'Php'相關問題? 或者有沒有關於如何以不同方式處理我的「閃存嵌入與垃圾」問題的建議?

(感謝)

回答

0

閃光燈期待GET參數,所以你不能強迫他們任何其他方式。

我會做什麼是存儲在會話中GET變量(稱爲swf_vars在我的例子),如果你想成爲一個祕密,然後讓<embed>代碼指向一個PHP腳本,它像..

<?php 
session_start(); 

// Full URL path to SWF 
$url = "http://www.site.be/core/swf/player.swf?"; 

// These are the GET variables you want 
foreach ($_SESSION['swf_vars'] as $key => $value) { 
    $url .= $key . "=" . urlencode($value) . "&"; 
} 

$url = rtrim("&", $url); 

// Fetch the SWF 
header("Content-Type: application/x-shockwave-flash"); 
echo file_get_contents($url); 
?> 
+0

這就是php-page已經做的解決方法,問題是這樣swf似乎不接受參數。就像我說的:原來,當我在通過$ _GET ['var']響應的常規測試文件info.php上使用file_get_contents時,上述代碼有效,但是當我在flashplayer上使用它時,它不... 在:閃光文件似乎不接受(或響應)添加的頭變量... – Jasper 2011-02-10 09:08:41