Php 使用子字符串向字符串中添加单词

Php 使用子字符串向字符串中添加单词,php,position,substring,Php,Position,Substring,不确定标题是否正确,但我的问题是: 我有一个表,其中包含图像的url,如下所示: img/folder/imagename.jpg 现在我已经为每个文件夹中的每个图像创建了一个缩略图,所以如果我想显示它们,我会在我的表中循环并返回所有url,但我需要在“folder/”之后和“imagename.jpg”之前添加“thumbs”…现在因为显然是“folder”和“imagename”名称的长度不同,因此我无法计数..我唯一能想到的是查找最后一个“/”字符并插入其中,然后在后面添加“imagen

不确定标题是否正确,但我的问题是: 我有一个表,其中包含图像的url,如下所示:

img/folder/imagename.jpg
现在我已经为每个文件夹中的每个图像创建了一个缩略图,所以如果我想显示它们,我会在我的表中循环并返回所有url,但我需要在“folder/”之后和“imagename.jpg”之前添加“thumbs”…现在因为显然是“folder”和“imagename”名称的长度不同,因此我无法计数..我唯一能想到的是查找最后一个“/”字符并插入其中,然后在后面添加“imagename.jpg”,因此最终结果如下所示:

img/folder/thumbs/imagename.jpg

只需将路径替换为“更深”路径:


有很多其他的方法可以做到这一点,但我认为这一个是非常清楚的,它的作用。从理论上讲,它不会普遍起作用(如果您的路径由于某种原因包含多次出现的
img/folder/
),但我们不要这样做。

只需将路径替换为“更深”的路径:

有很多其他的方法可以做到这一点,但我认为这一个是非常清楚的,它的作用。从理论上讲,它不会普遍起作用(如果您的路径由于某种原因包含多次出现的
img/folder/
),但我们不要去那里。

您也可以

$pathparts =  explode("/",$path);
然后使用$pathparts数组再次构建路径。您可以在希望对操纵路径有更多控制的情况下使用它,但在重载情况下,它不是非常有效

echo $pathparts[0]."/".$pathparts[1]."/thumbs/".$pathparts[2];
//阿迪翁 为什么不更新数据库并只保存imagename.jpg脚本 然后在调用脚本开始时定义

define("IMGPATH", "img/folder/");
define("THUMBPATH", "img/folder/thumbs/");
然后叫它

 <?= IMGPATH."imagename.jpg" ?>
<?= THUMBPATH."imagename.jpg" ?>

您也可以

$pathparts =  explode("/",$path);
然后使用$pathparts数组再次构建路径。您可以在希望对操纵路径有更多控制的情况下使用它,但在重载情况下,它不是非常有效

echo $pathparts[0]."/".$pathparts[1]."/thumbs/".$pathparts[2];
//阿迪翁 为什么不更新数据库并只保存imagename.jpg脚本 然后在调用脚本开始时定义

define("IMGPATH", "img/folder/");
define("THUMBPATH", "img/folder/thumbs/");
然后叫它

 <?= IMGPATH."imagename.jpg" ?>
<?= THUMBPATH."imagename.jpg" ?>