我有一个脚本,每次刷新页面时都会自动从目录加载图像。但是,如果此人想要链接到图像,则他们不能,因为没有生成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标识符?这甚至可能吗?欢迎所有帮助。感谢。
答案 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()
都可以。如果需要,您还可以执行其他一些操作,例如检查文件是否存在。