我四处搜索,发现有人问了一些类似的问题,但没有一个能真正帮助我(因为我的 PHP 能力还不足以解决这个问题)。我认为我的问题很简单,可以回答,因为我发现的类似问题可以用一两行代码解决。所以,来了!
我有一些代码可以搜索给定目录的内容,并以数组的形式提供文件。这个特定目录只有 .JPG 图像文件,名称如下:
Shot01.jpg Shot01_tn.jpg
等等等等。我的数组以某种方式为我提供了文件名,我可以直接在标签中使用结果以显示在我正在构建的网站上。但是,我遇到了一些麻烦,因为我想限制我的数组不返回包含“_tn”的项目,所以我可以使用链接到全尺寸图像的缩略图。我曾考虑过不使用缩略图并调整图像大小以使 PHP 对我来说更容易做,但这感觉就像放弃了我一样。那么,有人知道我该怎么做吗?这是我目前拥有的代码:
$path = 'featured/';
$newest = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS));
$array = iterator_to_array($newest);
foreach($array as $fileObject):
$filelist = str_replace("_tn", "", $fileObject->getPathname());
echo $filelist . "<br>";
endforeach;
我尝试使用 str_replace(),但现在我意识到我完全错了。这将返回我的数组,如下所示:
Array
(
[0] => featured/Shot01.jpg
[1] => featured/Shot01.jpg
[2] => featured/Shot02.jpg
[3] => featured/Shot02.jpg
[4] => featured/Shot03.jpg
[5] => featured/Shot03.jpg
)
我目前只有 3 张图像(带缩略图),但我会有更多,所以我还想将数组的结果限制为随机的 3 个结果。但是,如果这要求太多,我相信我可以自己解决这个问题。
所以没有混淆,如果它们包含“_tn”,我想从数组中完全删除它们,所以我的数组看起来像这样:
Array
(
[0] => featured/Shot01.jpg
[2] => featured/Shot02.jpg
[4] => featured/Shot03.jpg
)
感谢任何能提供帮助的人!