从文件中删除扩展名

use*_*938 13 php filenames function

可能重复:
如何从字符串中删除扩展名(仅限实际扩展名!)

我是php的新手,还有很多需要学习的东西!我正在为King County Iris Society网站试验MiniGal Nano.它可以很好地用于我们的目的,只有一个小例外:照片文件名称需要在缩略图下可见.我创建了一个解决方案,但它显示了扩展.我找到了函数的代码示例,但不知道如何将它们合并到现有代码中.任何帮助将不胜感激.

示例链接:http://www.kcis.org/kcisphotogallery.php?dir = Iris.Japanese

非常感谢!

Asc*_*rer 30

有几种方法可以做到,但我认为以下更快捷的方法之一

// $filename has the file name you have under the picture
$temp = explode('.', $filename);
$ext  = array_pop($temp);
$name = implode('.', $temp);
Run Code Online (Sandbox Code Playgroud)

另一个解决方案是这个 我还没有对它进行测试,但看起来它应该在文件名中的多个句点中起作用

$name = substr($filename, 0, (strlen($filename))-(strlen(strrchr($filename, '.'))));
Run Code Online (Sandbox Code Playgroud)

也:

$info = pathinfo($filename);
$name = $info['filename'];
$ext  = $info['extension'];

// Shorter
$name = pathinfo($file, PATHINFO_FILENAME);

// Or in PHP 5.4
$name = pathinfo($filename)['filename'];
Run Code Online (Sandbox Code Playgroud)

在所有这些中,$name包含没有扩展名的文件名

  • 这不错,但对'my.image.jpg`无济于事 (2认同)

hek*_*mgl 7

你可以用pathinfo()它.

<?php

// your file
$file = 'image.jpg';

$info = pathinfo($file);

// from PHP 5.2.0 :
$file_name = $info['filename'];

// before PHP 5.2.0 :
// $file_name =  basename($file,'.'.$info['extension']);

echo $file_name; // outputs 'image'

?>
Run Code Online (Sandbox Code Playgroud)

  • 通常只询问`pathinfo()`函数需要什么:`pathinfo($ file,PATHINFO_FILENAME)` (4认同)