我正在制作一个登录系统,注册和php中的个人资料页面,我正在尝试使个人资料图片工作。
如果用户尚未上传个人资料图片,则如果用户上传了个人资料图片,则显示“无个人资料图片”图片,使其显示他已上传的图片。
现在它只显示默认图片noprofile.png
。
< img src="uploads/< ? echo "$username" ? >/noprofile.png">
我希望它显示icon.png
如果icon.png
已上传,如果尚未上传,请将其显示为noprofile.png
。
答案 0 :(得分:3)
使用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";
}
答案 1 :(得分:0)
使用文件exists检查文件是否已上传。如果该文件存在,请使用该url,否则使用默认的noprofile.png。
答案 2 :(得分:0)
如果已上传或未上传,您可以在数据库中创建一个列。
OR
你可以看到文件是否存在。
<?php
if (file_exists('uploads/' . $username . '/icon.png')) {
echo '<img src="uploads/' . $username . '/icon.png">';
}
else {
echo '<img src="uploads/' . $username . '/noprofile.png">';
}
?>
答案 3 :(得分:0)
<?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) ?>">
答案 4 :(得分:0)
您可以使用http://us3.php.net/file_exists检查图像文件是否存在。
另一种选择是 - 假设您将用户信息保存在数据库中 - 具有带图像名称的列。由于您无论如何都必须从用户表中检索信息,因此请检查该列是空还是空。如果是,则用户尚未上传图像。
然后,在显示用户照片的页面中,您可能会遇到如下代码:
$userPhoto = ($photoName)? $photoName : 'placeholder';
echo '<img src="uploads/'.$userPhoto.'.png" />
答案 5 :(得分:0)
假设文件路径正确,这就是你要做的......
<?php $filename = "uploads/".$username;
$imgSrc = file_exists($filename) ? $filename : "uploads/noprofile.png"; ?>
<img src=<?php echo $imgSrc?>
答案 6 :(得分:0)
在img标签中使用onerror属性
<img onerror="this.src= 'img/No_image_available.png';" src="<?php echo $row['column_name ']; ?>" />