[英]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.