我试图使用图像路径获取文件名basename
并在title标签内回显它,但由于我正在从功能文件中回显图像路径,因此我无法使其正常工作。
我现在想做的(在product.php中):
$path = ProductBekijkPlaatje($contenti[0]['images']);
$basename = basename($path);
echo $basename;
但这会破坏功能,仅回显文件路径,而实际的映像会丢失。
这是我正在调用的函数(在functions.php中):
function ProductBekijkPlaatje($plaatje) {
$path = $img->image_intro;
$basename = basename($path);
$img = json_decode($plaatje);
if ($img->image_intro == '') {
$image = '<img src="images/no-img.jpg" alt="">';
} else {
$image = '<img class="shorterimageimg" title="'.$basename.'" src="cms/'.$img->image_intro.'" alt="'.$img->image_intro_alt.'" >';
}
return $image;
}
我也尝试在函数内的标题中显示图像名称,但这也不起作用。我究竟做错了什么?
它在您的函数中不起作用,因为您尝试先访问对象的属性json_decode()
:
$path = $img->image_intro; // $img doesn't exist here
$basename = basename($path);
$img = json_decode($plaatje); // here $img is created
只需将其json_decode()
移到最前面即可:
$img = json_decode($plaatje);
$path = $img->image_intro;
$basename = basename($path);
现在,您可以修改函数以返回包含不同信息的数组:
function ProductBekijkPlaatje($plaatje) {
$img = json_decode($plaatje);
$return = array();
$return['path'] = $img->image_intro;
$return['basename'] = basename($return['path']);
if ($img->image_intro == '') {
$return['image'] = '<img src="images/no-img.jpg" alt="">';
} else {
$return['image'] = '<img class="shorterimageimg" title="'.$return['basename'].'" src="cms/'.$img->image_intro.'" alt="'.$img->image_intro_alt.'" >';
}
return $return;
}
然后,您可以稍后使用此数组:
$image = ProductBekijkPlaatje($contenti[0]['images']);
echo $image['image']; // contains the html output
echo $image['basename']; // contains the basename only
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句