我正在回应div的嵌入式风格。在那种风格中,我正在设置背景图像。我知道图像文件名,但我不能确定文件类型,因为它可以是jpeg,jpg,gif或png。
就像在这个例子中一样,它可能是png图像。
if(file_exists("images/img_".$loggedInUser->user_id.".jpeg")){
echo "style='background-image: url(\"images/img_".$loggedInUser->user_id.".jpeg\");'";
}
是否可以在此处使用某种通配符进行扩展?
答案 0 :(得分:0)
通配符可以与glob()
一起使用。
示例:
$pics = glob("images/img_" . $loggedInUser->user_id . ".*");
if (isset($pics[0])) {
// file exists
}
fnmatch()
可能很有用。
替代方式,使用有点经理class
:
class Image {
private $user;
public function __construct($user) {
$this->user = $user;
}
public function getPicture() {
$path = glob("images/img_" . $this->user . ".*");
if (isset($pics[0]) {
return "style='background-image: url(" . $pics[0] . ");'";
}
}
}
用法:
$pic = new Image($loggedInUser->user_id);
echo $pic->getUserPicture();
答案 1 :(得分:0)
如果多个文件与模式匹配,则将使用第一个文件:
if($file = glob("images/img_{$loggedInUser->user_id}.*")) {
echo "style='background-image: url(\"{$file[0]}\");'";
}
如果您想要多个文件的不同行为,请调整它。