不确定这个标题是否正确,但这是我的问题: 我有一个表格可以保存图片的网址:
img/folder/imagename.jpg
现在我为每个文件夹中的每个图像创建了一个缩略图,所以如果我想显示它们,我会在我的表格中循环并返回所有网址,但我需要在“文件夹/”之后添加单词“thumbs” “并且在”imagename.jpg“之前......现在因为很明显”文件夹“和”图像名称“的名称长度不同,所以我无法计算...我唯一能想到的就是查找最后一个” /“字符并插入其中并在其后添加”imagename.jpg“,因此最终结果将如下所示:
img/folder/thumbs/imagename.jpg
答案 0 :(得分:4)
只需用“更深”的路径替换路径:
$path = str_replace('img/folder/', 'img/folder/thumbs/', $path);
还有很多其他方法可以做到这一点,但恕我直言,这一点非常清楚它的作用。 理论上它不会普遍适用(如果你的路径由于某种原因包含多个img/folder/
的发生),但我们就不去那里。
答案 1 :(得分:1)
你也可以
$pathparts = explode("/",$path);
然后使用$ pathparts数组再次构建路径。如果你想要更多地控制操纵路径,你可以使用它,但是在重载时它不是很有效。
echo $pathparts[0]."/".$pathparts[1]."/thumbs/".$pathparts[2];
// ADITION 为什么不更新数据库和脚本只保存imagename.jpg 然后在调用脚本定义
的开头define("IMGPATH", "img/folder/");
define("THUMBPATH", "img/folder/thumbs/");
然后调用它
<?= IMGPATH."imagename.jpg" ?>
<?= THUMBPATH."imagename.jpg" ?>