字符串中的PHP通配符
我呼应了div的嵌入式风格。在这种风格中,我设置了背景图像。我知道图像文件名,但我不能确定文件类型,因为它可以是jpeg、jpg、gif或png 就像在这个例子中,它可能是png图像字符串中的PHP通配符,php,Php,我呼应了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\");'";
if(file_exists("images/img_".$loggedInUser->user_id.".jpeg")){
echo "style='background-image: url(\"images/img_".$loggedInUser->user_id.".jpeg\");'";
}
这里是否可以使用某种通配符进行扩展?通配符可以与一起使用 例如:
$pics = glob("images/img_" . $loggedInUser->user_id . ".*");
if (isset($pics[0])) {
// file exists
}
可能有用
另一种方法是使用kinda Manager类
:
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();
如果多个文件与模式匹配,则将使用第一个文件:
if($file = glob("images/img_{$loggedInUser->user_id}.*")) {
echo "style='background-image: url(\"{$file[0]}\");'";
}
如果您希望多个文件有不同的行为,请调整它。如果只有4种可能性,为什么不使用
if-else
并列出所有4个选项?为什么不存储文件名?每次需要显示页面时就开始猜测似乎毫无意义。