2011-10-17 39 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 
} 
相關問題