Image Placeholder for Broken Image Link?
Image Placeholder for Broken Image Link?
目前用户可以在我的网站上上传图片,并且图片的位置被存储在一个MySQL表中。
当我使用SELECT函数调用这些图片时,它们通过CSS样式background-image:url('image.jpg')加载。
目前,我使用了一个IF语句,如果某一行的"Image_URL"列为空,则在该位置放置一个占位图像。
if ($row["Image"] != "") { echo ""; } else { echo "
然而,我的方法对于错误的链接(原始图片已被删除或链接错误的情况)不起作用。它只是显示为空白,我可以理解为什么,因为$row["Image"] != NULL,链接是存在的,只是没有链接到一张图片。
是否有一种方法可以在没有找到提供的链接的情况下,加载我的占位图像no-image.jpg?
我的DIV仅仅是为了使我的图片变成圆形并居中,所以我在这里发布它们以帮助你,你可以帮助我修改这些类来添加占位图像的功能。
.image-cropper { max-width: 150px; height: auto; position: relative; overflow: hidden; } .rounded { display: block; margin: 0 auto; height: 150px; width: 150px; -webkit-border-radius: 50%; -moz-border-radius: 50%; -ms-border-radius: 50%; -o-border-radius: 50%; border-radius: 50%; background:center no-repeat; background-size:cover; }
image-cropper和rounded DIV实际上来自于这个网站,所以谢谢Hiral!
原因:这段代码中出现的问题是当图片链接无效或者图片文件不存在时,会显示一个名为"Image Placeholder for Broken Image Link?"的占位图像。
解决方法:为了解决这个问题,可以使用PHP的glob()函数来判断文件是否存在。可以按照以下方式进行处理:
if ($row["Image"] != "") { $file = glob("/uploads/".$row["Image"]); if (count($file) > 0) { echo "