2015-02-09 67 views
1

設置:在一個網址中使用多個嵌套_GET變量

  • 腳本來自多個字母圖象 (autotext.php)
  • URL被格式化生成字圖像:
    www.whatever.com/autotext.php?text=hello%20world
  • 腳本,改變圖像服務器端運行過濾器或生成較小的尺寸(縮略圖.php)
  • URL格式化d: www.whatever.com/thumbnail.php?src=whatever.png&h=XXX&w=XXX

用例:

我想生成自動圖文集服務器端的縮小版。所以,我的電話會看起來像:

www.whatever.com/thumbnail.php?src=autotext.php?text=hello%20world&h=XXX&w=XXX

正如你可以看到,我想對待與_GET變量作爲一個變量本身的URL。使用URI編碼播放的數量無助於完成此項工作。

我可以訪問這兩種腳本的PHP,並且可以進行一些簡單的更改(如果這是唯一的解決方案)。任何幫助或建議,將不勝感激。我甚至不排除Javascript前端解決方案,儘管我的首選是使用我已經實現的兩個腳本。

+0

是的,URL編碼*會*幫助。顯示您嘗試將'src'參數修補到一起的任何內容。 – mario 2015-02-09 20:27:19

+0

你想要一個**和**之間的第一個**?** – 2015-02-09 20:31:01

+0

後的網址之間的變數你可以粘貼你目前的代碼/實現的樣子? – STLMikey 2015-02-09 21:14:37

回答

0

您應該能夠通過URL編碼所有的$ _GET PARAMS到一個變量,然後分配該變量到另一個,像這樣的(未經測試)要做到這一點:

// Url generation 
$url = www.whatever.com/thumbnail.php?src=(urlencode(http_build_query($_GET))); 

那麼你應該能夠檢索其他方:

$src = urldecode(explode('&', $_GET['src'])); 

我已經看到了這種確切的行爲,當發生操作後陷阱重定向用戶的位置。

---- ----更新

你的 「用例」 的網址是正確的:

www.whatever.com/thumbnail.php?src=autotext.php?text=hello%20world&h=XXX&w=XXX 

....除非你不能有一個以上?在「有效」網址中。所以如果你轉換第二?到&,那麼您應該能夠從autotext.php腳本訪問$_GET['text'],然後您可以對其進行url解碼以獲取內容。

+0

你得到它的工作? – 2015-02-12 18:29:06

+0

感謝邁克的力量。不幸的是,我不能完全解開你的建議。我不清楚$ src字符串會發生什麼情況,因爲它在您的$ url生成語句中從未被調用過。 我閱讀了關於http_build_query(),urlencode()和urldecode()的php文檔,但我並沒有接近理解爲什麼你在這個例子中使用它們,也不知道爲什麼它會使代碼工作。你能把它分解得更遠嗎? 即使花時間在第一時間幫忙,也感謝你! – 2015-02-17 19:39:41