如何为这个简单的脚本生成自动URL?

时间:2016-09-12 03:50:32

标签: php

我有一个脚本,每次刷新页面时都会自动从目录加载图像。但是,如果此人想要链接到图像,则他们不能,因为没有生成URL。这是当前的脚本:

<?php
$imagesDir = 'images/';
$images = glob($imagesDir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);
$randomImage = $images[array_rand($images)];
?>
<img src="http://www.domain.com/<?php echo $randomImage; ?>">

正如您在此处看到的,脚本会自动从文件夹中提取随机图像然后显示它。刷新页面时,脚本会加载新图像。如何使每个图像都有自己唯一的URL标识符?这甚至可能吗?欢迎所有帮助。感谢。

1 个答案:

答案 0 :(得分:1)

您只需要一种将参数输入脚本的方法。常见的方法是使用查询字符串。

http://example.com/yourScript.php?image=abcdefg.jpg

然后在您的PHP脚本中,您可以使用$_GET['image']来确定所请求的图片是abcdefg.jpg

如果该URL不适合您,您可以将Web服务器配置为在将其发送到PHP之前重写URL。也就是说,你可以这样:

http://example.com/images/abcdefg.html

您的Web服务器的重写引擎将采用/images/abcdefg.html并在将其发送到PHP之前在内部将其重写为/yourScript.php?image=abcdefg.jpg。用户不会知道或不关心这种情况。然后,您可以像平常一样访问PHP脚本中的数据。

如何执行此操作取决于您的Web服务器。如果是Apache,你会想要研究mod_rewrite。 Nginx有ngx_http_rewrite_module。

现在,在PHP脚本中,您所要做的就是使用正确的变量呈现页面。我推荐使用模板引擎,但是对于一个简单的页面,任何数据周围的echo htmlspecialchars()都可以。如果需要,您还可以执行其他一些操作,例如检查文件是否存在。