簡體   English   中英

我可以使用header()傳遞查詢字符串參數嗎?

[英]Can I use header() to pass query string parameters?

我在Windows上使用XAMPP。

我已經將Apache配置為將所有請求重定向到controller.php文件。 在執行任何其他處理之前,控制器會將所有請求記錄到數據庫,並且還會執行其他一些操作,包括檢查訪問所涉及文件的權限。

大多數請求映射到一個文件,然后我使用適當的頭文件和一個讀取文件。 例如:

header ( 'Content-Type: text/css' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );

我的問題是,如果URL包含查詢字符串,我不知道如何將其傳遞給該文件。

http:///myswf.swf?q1 =測試映射到C:\\ SWF \\ myswf.swf

header ( 'Content-Type: applicaton/x-shockwave-flash' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );

無法將q1參數傳遞給SWF。

我無法修補SWF。

我應該如何調用SWF並成功從PHP中傳遞參數?

SWF文件未在服務器上執行。 因此,您無法將任何內容“傳遞” SWF文件中。 該文件只是由客戶端下載,然后在瀏覽器中運行,它將獲取URL參數。 從客戶端來看,這看起來像這樣(簡化):

只要該過程在客戶端這樣工作,就無論您如何准確地提供文件。

據我所知,你不能在文件名中使用GET參數,所以readfile(filename.php?q = 123); 不會傳遞參數,

事實上,我認為你可以做到這一點的唯一方法是使用遠程file_get_contents(); 如:

echo file_get_contents("http://domain.com/file.swf?params");

在這種情況下,domain.com上的web服務器將處理swf文件的參數,這意味着SWF文件需要公開訪問,但沒有人會知道它所在的位置,所以你可以有一個文件夾比如domain.com/asfqwasc213412sad/file.swf來模糊它

我對SWF如何處理GET參數沒有太多經驗,所以這就是用params服務SWF文件的所有假設

更新感謝@deceze獲取此信息,由於params的工作方式,這可能不適用於SWF文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM