我在服务器上有一系列严格命名约定的照片:“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" />
答案 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.