流行的图片托管网站Imgur很棒,我是PHP的新手。我只是想知道他们在输入URL时如何设法在页面中显示图像:
http://imgur.com/gallery/yjg8v
脚本如何知道显示来自yjg8v
的特定图像?他们使用的是$_SERVER['HTTP_HOST']
吗?
新手在这里,不是想吃汤,愿意阅读和学习,只是无法在互联网上找到很多帮助。
答案 0 :(得分:3)
像imgur.com这样的网站通常是“干净的网址”,而不是带参数的传统网址。
在清除网址之前,您会看到如下内容:
imgur.com/image.php?id=yjg8v
在您的脚本中,您可以通过
访问参数$_GET['id'];
要生成干净的URL,您可以在Apache(或您选择的Web服务器中的类似技术)中使用mod_rewrite将'/ gallery / yjg8v'映射到'/image.php?id=yjg8v'。
您可以找到其他mod_rewrite信息here。
答案 1 :(得分:2)
yjg8v
是传递给名为gallery
的脚本的参数。它看起来不像普通的查询字符串,因为有各种编码网站的方法,普通的查询字符串看起来像一个目录结构,对于不经意的观察者,但实际上是通过前端控制器或mod_rewrite运行从中获取参数URL就像查询字符串一样。
这个SitePoint article有点陈旧,但演示了如何完美地使用mod_rewrite。
您也可以使用Apache's ForceType to accomplish this purely through PHP
答案 2 :(得分:0)
为了让您更轻松,这称为url重写,因此真正的网址如下: http://imgur.com/gallery/view.php?image=yjg8v
然后使用 $ _GET [ '图像']