2011-10-17 41 views
1

我在我的目录中找到了一些图像,其ID为id。我知道编号,但我不知道他们的格式,所以我不能使用href来显示他们,因为我不知道格式。查找具有未知扩展名的文件

我需要为这个想法或功能,所以我可以搜索:

FE。 href="img/avatar/avatar_of_" . $id . ".EXT"

如果找到具有图像扩展名的文件,则会显示它。

回答

2

那么,你可以使用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; 
    } 
} 

或者,您可以重命名文件并将其转换为通用扩展名。

或者,您可以在某处存储任何给定用户头像的扩展名。

+0

谢谢你,尼克昵称btw。 ':p' – Cyclone

+0

@Cyclone:的确如此。和你一样好的先生。 – Cyclone

1

请问glob是否适合您?它可以让你做一个通配符搜索。

+0

我宁愿考虑preg_math - 搜索格式为(PNG | JPG | JPEG | GIF)的图像,如果找到 - 添加分机。到变量,然后我可以准备图像href。 – Cyclone

+2

'glob(“{* .PNG,* .JPG,* .JPG,* .GIF}”,GLOB_BRACE)' –

+0

'var_dump(glob(“./ img/avatar/avatar_of_”。$ id。“。*” ));',为什么它返回空数组?该文件在那里... – Cyclone

2

我不知道这是你想要的东西:

if(file_exists("img/avatar/avatar_of_" . $id . ".jpg")) { 
    // display 
} 

或可能:

foreach (glob("img/avatar/avatar_of_$id.*") as $filename) { 
    //display 
} 
相关问题