PHP变量拼接字符串:给图片名添加tn_前缀时报错如何解决
实现方案
错误原因排查
大部分拼接报错是因为没有区分文件名和路径结构,直接把tn_拼到路径开头,或者语法书写错误(比如漏写引号、拼接符.)。
实现代码
场景1:$gal->image 仅为纯文件名(不含子目录)
直接在文件名前拼接前缀即可:
data-retina="<?php echo site_url('uploads/tn_' . $gal->image); ?>"/>
场景2:$gal->image 包含子目录(例如202405/photo.jpg格式)
需要先拆分路径和文件名,再加前缀,避免破坏目录结构:
<?php $img_info = pathinfo($gal->image); $tn_img = $img_info['dirname'] . '/tn_' . $img_info['basename']; ?> data-retina="<?php echo site_url('uploads/' . $tn_img); ?>"/>
该方案兼容所有路径格式,不会因为原有文件存储带目录导致前缀加错位置。
内容的提问来源于stack exchange,提问作者Kyle White
相关产品推荐
相关产品推荐

