1

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

img/folder/imagename.jpg

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

img/folder/thumbs/imagename.jpg
4

2 回答 2

4

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

$path = str_replace('img/folder/', 'img/folder/thumbs/', $path);

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

于 2013-02-24T22:22:51.643 回答
1

你也可以

$pathparts =  explode("/",$path);

然后使用 $pathparts 数组再次构造您的路径。如果您希望对操纵路径进行更多控制,则可以使用它,但在重负载时它不是很有效。

echo $pathparts[0]."/".$pathparts[1]."/thumbs/".$pathparts[2];

//addition 为什么不更新你的数据库和脚本只保存imagename.jpg 然后在调用脚本的开头定义

define("IMGPATH", "img/folder/");
define("THUMBPATH", "img/folder/thumbs/");

然后调用它

 <?= IMGPATH."imagename.jpg" ?>
<?= THUMBPATH."imagename.jpg" ?>
于 2013-02-24T22:56:07.877 回答