PHP在多个位置的字符串中添加多个字符串

时间:2017-07-24 01:41:39

标签: php string substr strpos

虽然这种方法非常有效,但是找到一种方法可以让它变得更清洁,并且还可以沿途学习! 我将 / thumbs 添加到目录和文件字符串中,并将 _thumb 添加到同一字符串的文件名末尾。

来自... Gallery / Test / Image / image.jpg

到此...图库/测试/图像/ thumbs / image_thumb.jpg

但路径的长度可能会根据目录结构而改变,但/ thumbs将始终是最后一个目录,而_thumb将始终位于“。”之前。

    $thumb_dir = substr($file, 0, strrpos($file, '/')) . '/thumbs' . substr($file, strrpos($file, '/'));

    $thumbnail = substr($thumb_dir, 0, strrpos($thumb_dir, '.')) . '_thumb' . substr($thumb_dir, strrpos($thumb_dir, '.'));

由于

1 个答案:

答案 0 :(得分:3)

如果您的PHP版本是>

pathinfo可能对您有所帮助5.2.0 +

$path_parts = pathinfo('Gallery/Test/Image/image.jpg');
echo $path_parts['dirname'].'/thumbs/'.$path_parts['filename'].'_thumb.'.$path_parts['extension'];

对代码的解释很少

$path_parts['dirname']将获取路径的完整目录路径,在这种情况下它将是Gallery/Test/Image。然后我们在字符串中添加了一个名为'/thumbs/'的目录。接下来我们应该使用$path_parts['filename']来获取文件的名称,该文件将获取image而不是image.jpg,并且我们将'_thumb.'添加到其中。然后我们以扩展名为后缀。