PHP:如果图像存在显示图像其他显示不同的图像
问题描述:
我正在登录系统与注册和个人资料页面在PHP中,我正在尝试做一个个人资料图片工作。PHP:如果图像存在显示图像其他显示不同的图像
如果用户还没有上传个人资料图片,那么如果用户上传了个人资料图片,使其显示“没有个人资料图片”图片,使其显示他上传的图片。
现在它只显示默认图片noprofile.png
。
< img src="uploads/< ? echo "$username" ? >/noprofile.png">
我想让它显示icon.png
如果icon.png
已经上传,如果它未上传使其显示,noprofile.png
。
答
只需通过逻辑运行,使用file_exists
:看
$image="/path/on/local/server/to/image/icon.png";
$http_image="http://whatever.com/url/to/image";
if(file_exists($image))
{
echo "<img src=\"$http_image\"/>\n";
}
else
{
echo "<img src=\"uploads/$username/noprofile.png\"/>\n";
}
答
如果数据库已经上传或不上传,您可以在数据库中创建一个列来存储值。
或
你可以看到文件是否存在。
<?php
if (file_exists('uploads/' . $username . '/icon.png')) {
echo '<img src="uploads/' . $username . '/icon.png">';
}
else {
echo '<img src="uploads/' . $username . '/noprofile.png">';
}
?>
答
<?php
$img = file_exists(sprintf('/path/to/uploads/%s/icon.png', $username))
? 'icon.png' : 'noprofile.png';
?>
<img src="uploads/<?php printf('%s/%s', htmlspecialchars($username), $img) ?>">
答
你可以使用http://us3.php.net/file_exists检查,如果图像文件是存在的。
另一种替代方法是 - 假设您将用户信息保存在数据库中 - 具有包含图像名称的列。由于您必须从用户表中检索信息,请检查该列是否为空或空白。如果是,用户尚未上传图像。
然后,在你显示用户照片的页面,你可能有代码是这样的:
$userPhoto = ($photoName)? $photoName : 'placeholder';
echo '<img src="uploads/'.$userPhoto.'.png" />
答
假定文件路径是正确的,这里是你做了什么......
<?php $filename = "uploads/".$username;
$imgSrc = file_exists($filename) ? $filename : "uploads/noprofile.png"; ?>
<img src=<?php echo $imgSrc?>
答
使用的onerror属性在img标签
<img onerror="this.src= 'img/No_image_available.png';" src="<?php echo $row['column_name ']; ?>" />
其中$ photoName是从用户的照片列中输入字符串在你的数据库,或者是NULL /假 –