我正在尝试使用Laravel的队列发送电子邮件,在此电子邮件中,如果文件存在,我将显示用户的个人资料图片,使用此函数:
public function getProfilePictureAttribute()
{
$path = 'users/' . $this->id . '/picture.png';
if (File::exists(public_path() . $path)) {
return $path;
} else {
return $this->picture_default;
}
}
我在网络上使用相同的功能,它正在工作,但在电子邮件中,所以通过工匠和表工作,我总是得到默认的图片。我想不明白。
问题解决:
public function getProfilePictureAttribute()
{
$path = 'users/' . $this->id . '/picture.png';
if (File::exists(realpath(public_path() . $path))) {
return $path;
} else {
return $this->picture_default;
}
}
我认为你的文件路径问题,但需要使用绝对路径,如
$absulate_path = 'your absulate path';
// E:/xampp/htdocs/test_projuect
$path = 'users/' . $this->id . '/picture.png';
if (file_exists($absulate_path.'/'.$path)) {
/* do your code
} else {
echo "file not exit";
}
我想这会对你有帮助