我在网站上有一个javascript附加函数,可填充卡片。我从数据库中提取图像,然后将该php数组设置为javascript数组。但是,有时数据库中可能没有图像,因此我想使用保存在我的站点目录中的默认图像进行填充。我不想为每个没有图像的数据库条目存储默认图像。通过从站点拉出默认映像可以节省数据库中的空间。那么,如果在其中找不到图片,该如何将下面的javascript数组设置为默认图片?
var jImages = [];
<?php
for ($i = 0; $i < count($Image); $i += 1) {
echo 'jImages['.$i.'] = "'.base64_encode($Image[$i]).'";';
}
?>
这是我的append函数的开始部分,实际上是在设置我的jImages。
$(document)
.ready(function() {
$.each(tagNumbers,
function(i, value) {
$('.main_card_shell').append(
"<div class='card_content card_style' id='card0'>" +
"<div class='subcard_style box_title'>" +
'<img class="card_image" src="data:image/png;base64,' + jImages[i] + '" alt="Item #1" />' +
由于我使用的是“ data:image / png:base64”,因此不确定将jImages设置为默认图像路径是否一样容易。
答案 0 :(得分:0)
默认图像应为base64编码。您可以获取默认图像的base64字符串,例如here。
然后在for循环中检查$ Image [$ i]的值。如果该值代表DB中没有图像,则将jImages ['。$ i。']设置为默认图像的base64字符串。
<?php
for ($i = 0; $i < count($Image); $i += 1) {
$b64Str = /* base64_encoded default image */;
if ($Images[$i] != /* whatever the value is if no image in DB */) {
$b64Str = base64_encode($Image[$i]);
}
echo 'jImages['.$i.'] = "'.$b64Str.'";';
}
?>