Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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 如何在删除最后3个字符(jpg)的情况下对jpg的标题进行回显?_Php_Mysql - Fatal编程技术网

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