PHP:如果图像存在,则显示图像,否则显示不同的图像

PHP:如果图像存在,则显示图像,否则显示不同的图像,php,Php,我正在用php制作一个带有注册和配置文件页面的登录系统,我正在尝试制作一个配置文件图片 如果用户尚未上传个人资料图片,则使其显示“无个人资料图片”图像如果用户已上传个人资料图片,则使其显示其已上传的图像 现在它只显示默认图片,noprofile.png < img src="uploads/< ? echo "$username" ? >/noprofile.png"> /noprofile.png> 我希望它显示icon.png如果icon.png已上载,如果尚未上

我正在用php制作一个带有注册和配置文件页面的登录系统,我正在尝试制作一个配置文件图片

如果用户尚未上传个人资料图片,则使其显示“无个人资料图片”图像如果用户已上传个人资料图片,则使其显示其已上传的图像

现在它只显示默认图片,
noprofile.png

< img src="uploads/< ? echo "$username" ? >/noprofile.png">
/noprofile.png>

我希望它显示
icon.png
如果
icon.png
已上载,如果尚未上载,则显示,
noprofile.png
只需通过逻辑运行它,使用:

< img src="uploads/< ? echo "$username" ? >/noprofile.png">
$image=“/path/on/local/server/to/image/icon.png”;
$http_image=”http://whatever.com/url/to/image";
如果(文件_存在($image))
{
回音“\n”;
}
其他的
{
回音“\n”;
} 

检查文件是否已使用文件上传。如果文件存在,请使用该url,否则请使用默认的noprofile.png。

如果文件已上载或未上载,您可以在数据库中创建一列来存储值

您可以查看该文件是否存在

<?php
if (file_exists('uploads/' . $username . '/icon.png')) {
echo '<img src="uploads/' . $username . '/icon.png">';
}
else {
echo '<img src="uploads/' . $username . '/noprofile.png">';
}
?>


">
您可以使用检查图像文件是否存在

另一种选择是——假设您将用户信息保存在数据库中——有一列具有图像名称。由于您必须从用户表中检索信息,请检查该列是否为空。如果为空,则表示用户尚未上载图像

然后,在显示用户照片的页面中,可能有如下代码:

$userPhoto = ($photoName)? $photoName : 'placeholder';
echo '<img src="uploads/'.$userPhoto.'.png" />
$userPhoto=($photoName)?$photoName:“占位符”;
回声'

假设文件路径正确,下面是您要做的

<?php $filename = "uploads/".$username;    
$imgSrc = file_exists($filename) ? $filename : "uploads/noprofile.png"; ?>
<img src=<?php echo $imgSrc?>

在img标签中使用onerror属性

<img onerror="this.src= 'img/No_image_available.png';"  src="<?php echo $row['column_name '];  ?>" />
“/>

其中$photoName是数据库中用户照片列中的字符串,或者为NULL/false
<img onerror="this.src= 'img/No_image_available.png';"  src="<?php echo $row['column_name '];  ?>" />