【发布时间】:2011-12-09 16:29:21
【问题描述】:
我在我的目录中找到了一些图像,它们的名称中有 id。我知道 id ,但我不知道它们的格式,所以我不能使用 href 来显示它们,因为我不知道格式。
我需要一个想法或功能,以便我可以搜索:
fe。 href="img/avatar/avatar_of_" . $id . ".EXT"
如果找到带有图片扩展名的文件,就会显示它。
【问题讨论】:
我在我的目录中找到了一些图像,它们的名称中有 id。我知道 id ,但我不知道它们的格式,所以我不能使用 href 来显示它们,因为我不知道格式。
我需要一个想法或功能,以便我可以搜索:
fe。 href="img/avatar/avatar_of_" . $id . ".EXT"
如果找到带有图片扩展名的文件,就会显示它。
【问题讨论】:
嗯,你可以使用file_exists 来检查文件是否在那里。
构建一个“图像扩展”数组并找出文件存在于哪个。
$exts = array('bmp','png','jpg');
foreach($exts as $ext) {
if(file_exists("img/avatar/avatar_of_" . $id . "." . $ext)){
$path = "img/avatar/avatar_of_" . $id . "." . $ext;
}
}
或者,您可以重命名文件并将其转换为通用扩展名。
或者,您可以在某处存储任何给定用户头像的扩展名。
【讨论】:
:p
我不知道这是你想要的:
if(file_exists("img/avatar/avatar_of_" . $id . ".jpg")) {
// display
}
或者也许:
foreach (glob("img/avatar/avatar_of_$id.*") as $filename) {
//display
}
【讨论】:
glob 适合您吗?它允许您进行通配符搜索。
【讨论】:
glob("{*.PNG,*.JPG,*.JPEG,*.GIF}", GLOB_BRACE)
var_dump(glob("./img/avatar/avatar_of_" . $id . ".*")); ,为什么它返回空数组?文件在那里...