Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有没有一种方法可以预先处理“问题”;“文本”;添加到“";之前的字符串&引用;?示例:10.jpg_Php_File_Prepend - Fatal编程技术网

Php 有没有一种方法可以预先处理“问题”;“文本”;添加到“";之前的字符串&引用;?示例:10.jpg

Php 有没有一种方法可以预先处理“问题”;“文本”;添加到“";之前的字符串&引用;?示例:10.jpg,php,file,prepend,Php,File,Prepend,我有不同大小的照片,但数据库中有一个文件名。但是,根据具体情况,我希望使用不同的文件大小。例如: 10.jpg 这是用户名和扩展名,但是扩展名和用户ID可以/将在.jpg、.jpeg和.png之间变化,因此我不知道每个给定时刻的确切文件扩展名。 我的所有文件类型如下所示: 10-thumbnail.jpg // chat size 10-profile.jpg //profile pic preview 10.jpg //full size 在回显照片时,我通常只是在从数据库中获取图像后进行

我有不同大小的照片,但数据库中有一个文件名。但是,根据具体情况,我希望使用不同的文件大小。例如:

10.jpg
这是用户名和扩展名,但是扩展名和用户ID可以/将在
.jpg、.jpeg和.png
之间变化,因此我不知道每个给定时刻的确切文件扩展名。
我的所有文件类型如下所示:

10-thumbnail.jpg // chat size
10-profile.jpg //profile pic preview
10.jpg //full size
在回显照片时,我通常只是在从数据库中获取图像后进行图像路径处理。
echo$profilepic//10.jpg

但是,不必为每个版本的照片创建单独的列,我只希望能够操纵当前图像名称,以包含类似
10 profile.jpg的内容。有没有办法只在
之前添加
-profile
?因为用户ID和扩展可以/将不同。我需要爆炸吗?

谢谢

是的,您需要分解“.”上的字符串

以下是一个例子:

$profilepic='10.jpg';
$explode=explode('.',$profilepic);
$text=$explode[0]。'-文本“.”$爆炸[1];
变量转储($text);

为了使用户名具有灵活性(例如,包括
),我将使用查找文件名中的最后一个
,并在其前面插入大小:

$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

从您问题中的细节,我了解到:

  • 用户ID是一个可变整数
  • 图像类型可能会有所不同
因此,您的全尺寸图片名称列将包含诸如“1.jpg”、“2.png”、“748.gif”等值

在这种情况下,我只需使用
str\u replace()



最诚挚的问候

@CenterTruth别担心,我很高兴能帮上忙。等一下;你在问题中陈述你想“预先结束”。下面两个答案中给出的是“附加”;有什么我错过或不明白的吗?在一个点之前加上一些东西,我不认为是预加的。
<?php
$fullsizepic = '10.jpg';
echo $profilepic = str_replace('.', '-profile.', $fullsizepic); // 10-profile.jpg
?>