2015-02-09 66 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