将file_exists用于一系列文件名的简明方法

时间:2013-05-19 10:46:33

标签: php file-exists

我正在使用file_exists来确定某些图像文件是否在指定的目录中,如果是,则在图像旋转器中显示它们。它工作正常,但代码看起来很长,因为它实现了它。还有更好的方法吗?

目前我有:

<?php
        if (file_exists($reg_photo_1_f)) {
        echo "<li>";
        echo "<a href=". $reg_photo_1_f .">"."</a>";
        echo "</li>";
        }
        if (file_exists($reg_photo_2_f)) {
        echo "<li>";
        echo "<a href=". $reg_photo_2_f .">"."</a>";
        echo "</li>";
        }
        if (file_exists($reg_photo_3_f)) {
        echo "<li>";
        echo "<a href=". $reg_photo_3_f .">"."</a>";
        echo "</li>";
        }
        if (file_exists($reg_photo_4_f)) {
        echo "<li>";
        echo "<a href=". $reg_photo_4_f .">"."</a>";
        echo "</li>";
        }
        if (file_exists($reg_photo_5_f)) {
        echo "<li>";
        echo "<a href=". $reg_photo_5_f .">"."</a>";
        echo "</li>";
        }
        ?>

每个$ reg_photo_x_f是图像路径。我希望有一种方法可以调整这段代码,以便它可以循环直到找到所有图像存在。图像名称本身是从另一页生成的哈希,因此显然不是连续的。

创建哈希的页面将与php变量形式的页面相关的值与预定义的“salt”组合在一起,这样图像名称的匹配几乎与数据库中的哈希密码匹配相同例如,对于$ reg_photo_1_f我在同一页面上有这个代码:

$reg_photo_1 = sha1("$bh".PHOTO_REG_1);
$reg_photo_1_f = $reg_photo_root.$reg_photo_1.".jpg";

...其中$ bh是与用户所在页面相关的变量,PHOTO_REG_1是'salt'。

当然有一种更好的方法来命名图像,但这是我能想到的最简单的方法来处理动态页面。

1 个答案:

答案 0 :(得分:1)

<?php

$files = glob('*.jpg');
foreach($files as $file) {
        echo "<li>";
        echo "<a href=". $file.">"."</a>";
        echo "</li>";
}
?>