有没有办法将 "text" 添加到“.”之前的字符串?示例:10.jpg
Is there a way to prepend "text" to a string before the "."? Example: 10.jpg
我有不同尺寸的照片,但我在数据库中有 1 个文件名。但是,根据情况我想使用不同的文件大小。例如:
10.jpg
这是用户名和扩展名,但扩展名和用户 ID can/will 因 .jpg, .jpeg, and .png
而异,因此我无法随时知道确切的文件扩展名。
我所有的文件类型如下:
10-thumbnail.jpg // chat size
10-profile.jpg //profile pic preview
10.jpg //full size
回显照片的时候,我一般都是从数据库中获取图片的路径后才做的。
echo $profilepic; //10.jpg
然而,不必为每个版本的照片创建一个单独的列,id 只是希望能够操纵当前图像名称以包含类似 10-profile.jpg
的内容。有没有办法在 .
之前添加 -profile
?由于用户 ID 和扩展名 could/will 不同。我需要爆炸吗?
谢谢!
是的,您需要分解“.”上的字符串。
这是一个例子:
$profilepic = '10.jpg';
$explode = explode('.', $profilepic);
$text = $explode[0] . '-text' . '.' . $explode[1];
var_dump($text);
为了让用户名具有灵活性(例如包含 .
),我会使用 preg_replace
来查找文件名中的最后一个 .
并在它之前插入大小:
$filename = '10.jpg';
$size = 'profile';
echo preg_replace('/(\.[^.]*)$/', "-$size", $filename);
$filename = 'john.smith.jpg';
$size = 'profile';
echo preg_replace('/(\.[^.]*)$/', "-$size", $filename);
输出:
10-profile.jpg
john.smith-profile.jpg
根据你提问的细节,我了解到:
- 用户ID是可变整数,
- 图像类型可能会有所不同。
因此,您的全尺寸图片名称列将包含诸如“1.jpg”、“2.png”、...、“748.gif”、等
在这种情况下,我会简单地使用 str_replace()
:
<?php
$fullsizepic = '10.jpg';
echo $profilepic = str_replace('.', '-profile.', $fullsizepic); // 10-profile.jpg
?>
此致
我有不同尺寸的照片,但我在数据库中有 1 个文件名。但是,根据情况我想使用不同的文件大小。例如:
10.jpg
这是用户名和扩展名,但扩展名和用户 ID can/will 因 .jpg, .jpeg, and .png
而异,因此我无法随时知道确切的文件扩展名。
我所有的文件类型如下:
10-thumbnail.jpg // chat size
10-profile.jpg //profile pic preview
10.jpg //full size
回显照片的时候,我一般都是从数据库中获取图片的路径后才做的。echo $profilepic; //10.jpg
然而,不必为每个版本的照片创建一个单独的列,id 只是希望能够操纵当前图像名称以包含类似 10-profile.jpg
的内容。有没有办法在 .
之前添加 -profile
?由于用户 ID 和扩展名 could/will 不同。我需要爆炸吗?
谢谢!
是的,您需要分解“.”上的字符串。
这是一个例子:
$profilepic = '10.jpg';
$explode = explode('.', $profilepic);
$text = $explode[0] . '-text' . '.' . $explode[1];
var_dump($text);
为了让用户名具有灵活性(例如包含 .
),我会使用 preg_replace
来查找文件名中的最后一个 .
并在它之前插入大小:
$filename = '10.jpg';
$size = 'profile';
echo preg_replace('/(\.[^.]*)$/', "-$size", $filename);
$filename = 'john.smith.jpg';
$size = 'profile';
echo preg_replace('/(\.[^.]*)$/', "-$size", $filename);
输出:
10-profile.jpg
john.smith-profile.jpg
根据你提问的细节,我了解到:
- 用户ID是可变整数,
- 图像类型可能会有所不同。
因此,您的全尺寸图片名称列将包含诸如“1.jpg”、“2.png”、...、“748.gif”、等
在这种情况下,我会简单地使用 str_replace()
:
<?php
$fullsizepic = '10.jpg';
echo $profilepic = str_replace('.', '-profile.', $fullsizepic); // 10-profile.jpg
?>
此致