5

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

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

现在,我相当确定最好的选择是使用完整文件名的记录来设置数据库,但我只是想看看是否有人有我可能错过的任何想法。这个关于 SO的问题是相似的,但在这里我有严格的命名约定 - 不确定这是否会带来任何可能性。

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

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

0*.jpg

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

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

在我的情况下,开始部分总是独一无二的,所以我想使用类似的东西001456-*.jpg并让它 return 001456-War Horse.jpg

有没有办法在网站上做到这一点?

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

1 回答 1

6

尽管不存在这样的方法,但您仍然可以执行服务器端脚本来实现您需要的功能。

例如,在 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.
于 2013-08-26T04:47:40.253 回答