我有不同大小的照片,但是数据库中有1个文件名。但是,根据情况,我想使用其他文件大小。例如:
10.jpg
这是用户名和扩展名,但是扩展名和用户ID可以/将在.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和扩展名可能/将会不同。我需要爆炸吗?谢谢!
[为了允许用户名具有灵活性(例如,包含.
),我将使用preg_replace
查找文件名中的最后一个preg_replace
,并在文件名前插入大小:
.
输出:
$filename = '10.jpg';
$size = 'profile';
echo preg_replace('/(\.[^.]*)$/', "-$size$1", $filename);
$filename = 'john.smith.jpg';
$size = 'profile';
echo preg_replace('/(\.[^.]*)$/', "-$size$1", $filename);
10-profile.jpg
john.smith-profile.jpg
根据您的问题的详细信息,我了解:
因此,您的全尺寸图片名称列将包含值,例如'1.jpg','2.png',...,'748.gif',等
在这种情况下,我将只使用$profilepic = '10.jpg';
$explode = explode('.', $profilepic);
$text = $explode[0] . '-text' . '.' . $explode[1];
var_dump($text);
:
str_replace()
最诚挚的问候