在src中使用通配符显示图像

时间:2013-08-26 04:43:53

标签: html

我在服务器上有一系列严格命名约定的照片:“uniqueId-readableName.jpg”。我这样做是因为我的网站数据库目前只记录唯一ID(和一些不相关的信息),但人们偶尔需要直接查看文件服务器来浏览照片(通过FTP),因此可读名称很有用。例如

001456-War Horse.jpg
003295-Sunshine Daiseys.jpg
129084-Laboring at the farm 2013-08-11.jpg

现在,我很确定最好的选择是设置数据库,并记录完整的文件名,但我只是想知道是否有人有任何我可能错过的想法。 This question on SO是类似的,但在这里我有严格的命名约定 - 不确定是否会打开任何可能性。

我将此应用于img,但同样的想法可以应用于任何文件扩展名(例如,下载“789-My Homework.zip”或“123-Family vacation.zip”)。< / p>

作为我正在寻找的一个例子,在Windows资源管理器中,您可以进行文件搜索

0*.jpg

并且可以返回以下所有文件

001456-War Horse.jpg
003295-Sunshine Daiseys.jpg
029084-Laboring at the farm 2013-08-11.jpg

在我的情况下,开头部分始终是唯一的,因此我想使用类似001456-*.jpg的内容并让它返回001456-War Horse.jpg

有没有办法在网站上这样做?

<img src="001456-*.jpg" />

1 个答案:

答案 0 :(得分:4)

虽然不存在这样的方法,但您仍然可以使用服务器端脚本来实现所需的功能。

例如在PHP中,您可以使用内置命令浏览文件夹,选择符合条件名称的所有文件为“001456 - * .jpg”,然后根据返回的记录数选择第一个文件名并插入进入IMG标签。

以下是PHP中的示例实现:

$files = array();
$id = "001456";
$files = glob("id-*.jpg");

echo "<img src='$files[0]' />"; //Assuming one file is found for every unique ID.