PHP 在一个字符串中的多个位置添加多个字符串
PHP add multiple strings within a string at multiple positions
虽然这很完美,但正在寻找一种方法使它变得更干净一点/更干净,并在此过程中学习!!!
我将 /thumbs 添加到目录和文件字符串,并将 _thumb 添加到同一字符串的文件名的末尾。
从这个... Gallery/Test/Image/image.jpg
为了这个...Gallery/Test/Image/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, '.'));
谢谢
如果您的 PHP 版本 > 5.2.0+,pathinfo 可能会对您有所帮助
$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.'
。后来我们用扩展名作为后缀。
虽然这很完美,但正在寻找一种方法使它变得更干净一点/更干净,并在此过程中学习!!! 我将 /thumbs 添加到目录和文件字符串,并将 _thumb 添加到同一字符串的文件名的末尾。
从这个... Gallery/Test/Image/image.jpg
为了这个...Gallery/Test/Image/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, '.'));
谢谢
pathinfo 可能会对您有所帮助
$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.'
。后来我们用扩展名作为后缀。