使用PHP更改数组中的文件名/顺序

时间:2015-09-01 19:51:03

标签: php html arrays sorting

我正在使用名为photoswipe的图书馆展示图片的网站。我有两个文件夹,一个用于缩略图,另一个用于原始图像。两个文件夹都包含70个图像,文件名从' 001.jpg'直到' 070.jpg'。

我使用PHP将所有这些文件名放在一个数组中。之后,我使用foreach循环打印图像。

打印看起来像这样:

<a href="<?php echo $portraitsDir ?>original/<?php echo $valueOriginal; ?>" itemprop="contentUrl" data-size="<?php echo $dimensions?>" data-index="<?php $key ?>"> 
<img src="<?php echo $portraitsDir ?>thumbnail/<?php echo $imagesPortaitsThumbnail[$key]; ?>" height="100" width="100" itemprop="thumbnail" alt="All rights reserved."></a>

重新排序文件的最简单方法是什么。让我们说图像&#39; 052.jpg&#39;应放在网站上的第7位。到现在为止,我手动编辑文件名。因此052将变为007,007将变为008,008将变为009,依此类推。

2 个答案:

答案 0 :(得分:0)

$Originals的修改时间对$Thumbnails$Originals进行排序:

array_multisort(array_map('filemtime', $Originals), SORT_DESC, $Originals, $Thumbnails);

根据您的评论,您应该使用数据库,即使是小数据库。然后,您只需选择数据并对存储在数据库中的自定义排序顺序进行排序。您可以提供表单或按钮以允许人们移动它们并更改排序顺序。检查SQLite

答案 1 :(得分:0)

您可能必须使用filemtime()函数来查找每个文件的修改日期.BTW查看此答案以获取更多信息! https://stackoverflow.com/a/16599152