Php 如何在删除最后3个字符(jpg)的情况下对jpg的标题进行回显?
我有一个页面显示一些产品,如: -头衔 -描述 -形象Php 如何在删除最后3个字符(jpg)的情况下对jpg的标题进行回显?,php,mysql,Php,Mysql,我有一个页面显示一些产品,如: -头衔 -描述 -形象 当图像存储在表中时,它存储为例如“image.jpg”。。。但是我想在上传图片时将图片名称的标题用作产品的html标题(title=“echo here”)。所以为了更简单,我将使用图像表和图像标签中的echo作为图像的名称,但我希望删除最后3个字符,即“.jpg”。如何实现它?函数basename可以实现: $image = 'hello.jpg'; echo basename($image, '.jpg'); // 'hello' 希
当图像存储在表中时,它存储为例如“image.jpg”。。。但是我想在上传图片时将图片名称的标题用作产品的html标题(title=“echo here”)。所以为了更简单,我将使用图像表和图像标签中的echo作为图像的名称,但我希望删除最后3个字符,即“.jpg”。如何实现它?函数
basename
可以实现:
$image = 'hello.jpg';
echo basename($image, '.jpg'); // 'hello'
希望这有帮助:)
编辑
请注意,这仅适用于扩展名为.jpg
的图像。如果您想变得更健壮并处理,例如,.jpeg
或其他文件扩展名,如.png
等,您可以执行以下操作:
echo substr($image, 0, strrpos($image, '.'));
- 函数
basename
可以实现以下功能:
$image = 'hello.jpg';
echo basename($image, '.jpg'); // 'hello'
希望这有帮助:)
编辑
请注意,这仅适用于扩展名为.jpg
的图像。如果您想变得更健壮并处理,例如,.jpeg
或其他文件扩展名,如.png
等,您可以执行以下操作:
echo substr($image, 0, strrpos($image, '.'));
substr()
函数用于“剪切”字符串的某些部分。在本例中,您说“剪切”开始于位置0(字符串的开头),结束于位置-4(扩展名和点符号的三个字符) 如果您对
substr
及其行为感兴趣,请查看
你做这项工作
substr()
函数用于“剪切”字符串的某些部分。在本例中,您说“剪切”开始于位置0(字符串的开头),结束于位置-4(扩展名和点符号的三个字符)
如果您对
substr
及其行为感兴趣,请查看Hi使用explode函数删除扩展:
$imgParts = explode(".", "image.jpg");
$imageName = $imgParts[0];
echo pathinfo($image, PATHINFO_FILENAME);
Hi使用explode函数删除扩展名:
$imgParts = explode(".", "image.jpg");
$imageName = $imgParts[0];
echo pathinfo($image, PATHINFO_FILENAME);
由于PHP 5.2,您可以简单地执行此操作,这适用于任何扩展:
$imgParts = explode(".", "image.jpg");
$imageName = $imgParts[0];
echo pathinfo($image, PATHINFO_FILENAME);
由于PHP 5.2,您可以简单地执行此操作,这适用于任何扩展:
$imgParts = explode(".", "image.jpg");
$imageName = $imgParts[0];
echo pathinfo($image, PATHINFO_FILENAME);
我是这样做的,我在网上发现的,你觉得呢?当然任何有效的方法都有效:)有很多方法可以实现你想要的。使用
basename($image,.jpg')
的一个好处是,它的主要用法增加了一些有用的功能:如果$image
是一个带有路径的文件名,例如:/web/path/to/images/hello.jpg
,则在一次函数调用中,前导路径和文件扩展名都将被剥离,留下hello
。这可能与您的用例无关。。我想真正的问题是,您需要处理不同的文件扩展名吗?如果是这样的话,我可能会使用substr()
和strrpos()
来获得更为防弹的解决方案。@mauro使用rtrim($image,.jpg')
是危险的,因为peep.jpg
会变成pee
:(哈哈!哦,是的……headslap完全没有注意到。是的,rtrim
当时可能不是个好主意!我这样做了,我在网上发现了,你觉得怎么样?当然。不管怎样都行,都行:)有很多方法可以满足你的需求。使用basename($image,.jpg')有一个好处
的主要用途是它增加了一些有用的功能:如果$image
是一个带有路径的文件名,例如:/web/path/to/images/hello.jpg
,则在一次函数调用中,前导路径和文件扩展名都将被剥离,留下hello
。这可能与您的用例无关。我想真正的问题是s、 您需要处理不同的文件扩展名吗?如果需要,我可能会使用substr()
和strrpos()
来获得更安全的解决方案。@mauro使用rtrim($image,'.jpg')
是危险的,因为peep.jpg
会变成pee
:(哈哈!哦,是的……Headlap完全没有注意到。是的,rtrim
可能不是个好主意!+1 sweet。我不知道。这是最好的答案。干杯:)+1 sweet。我不知道。这是最好的答案。干杯:)文件名可能包含多个句点,例如picture.1.jpgA文件名可能包含多个句点,例如picture.1.jpg