如果图像表上没有任何记录,我想显示默认图像。我正在使用这个,但是当数据库表为空时它什么也没显示。
<img class="image--cover" id="blah" src="<?php echo $row2['img_local']; ?>" alt="Avatar" title="DEFINIDA" onerror="this.onerror=null;this.src='1.png';">
实际上,它甚至不显示任何损坏的图像图标,甚至不显示该元素的分配空间。有什么想法吗?
编辑:这是我用来上传图片的“ upload.php”代码
<?php
session_start();
include('includes/conexao.php');
$fileinfo=PATHINFO($_FILES["image"]["name"]);
$newFilename=$fileinfo['filename'] ."_". time() . "." . $fileinfo['extension'];
move_uploaded_file($_FILES["image"]["tmp_name"],"images/perfis/" . $newFilename);
$location="images/perfis/" . $newFilename;
$todas_fotos = mysqli_query($conexao, "select * FROM esc_usuarios_fotos WHERE img_usu_codigo = '" . $_SESSION['codigo'] . "'");
if( mysqli_num_rows($todas_fotos) > 0) {
//$path=$location;
//if(unlink($path)) echo "Deleted file ";
mysqli_query($conexao,"UPDATE esc_usuarios_fotos SET img_local = '$location' WHERE img_usu_codigo = '" . $_SESSION['codigo'] . "'");
}
else
{
mysqli_query($conexao,"insert into esc_usuarios_fotos (img_local, img_usu_codigo) values ('$location', '" . $_SESSION['codigo'] . "')");
};
header('location:perfil.php');
?>
答案 0 :(得分:0)
您可以尝试
<img class="image--cover" id="blah" src="<?php if(!empty($row2['img_local'])){ echo $row2['img_local'];}else{ echo '1.png';} ?>" alt="Avatar" title="DEFINIDA" >
还要检查1.png ..的路径。例如images / 1.png或img / 1.png等。
答案 1 :(得分:0)
我们可以尝试 将默认值设置为数据库列img_local(Ex。default.png),因此,如果用户不更改图像或数据库中没有插入图像,则保留为default.png;如果用户更改,则变为user.png;如果用户删除图像再次更新为default.png
答案 2 :(得分:0)
请尝试以下逻辑:
<?php
$row2['img_local'] = 'DB_data_folder_Path_to_image_with_image_name.extension';
// You do not have to use above line.
if ((!empty($row2['img_local'])) && (file_exists($row2['img_local']))) {
echo '<img class="image--cover" id="blah" src="'.$row2['img_local'].'" alt="Avatar" title="DEFINIDA" onerror="this.onerror=null;this.src=1.png;">';
} else {
echo 'Show a default image.'; // <img src="path_to_default_image" alt="Default_image"/>
}
?>
答案 3 :(得分:0)
我的朋友,
如果您从HTML角度获得此信息...并将该图像放入一个DIV中,则[onerror =“”;]可能会更好。
例如以下示例:
<div id="myContainerImg">
<img class="image--cover" id="blah" src="<?php echo $row2['img_local']; ?>" alt="Avatar" title="DEFINIDA" onerror="putNoImage();">
</div>
<script type="text/javascript">
function putNoImage(){
document.getElementById('myContainerImg').innerHTML = 'no image here, or put your own img...';
}
</script>
而且,您可以看到它正在运行here on CodePen。