删除文件上传时的文件扩展名

时间:2011-10-06 19:38:38

标签: php file-upload upload

我正在为网站编写代码,上传图片然后显示图库样式。我想要发生的是将图像的文件名输入到网站的数据库中作为图像的名称。但是,只使用$_FILES['images']['name'];给我文件名,但最后附加了文件扩展名。如何删除文件扩展名以便我可以单独使用文件名?

4 个答案:

答案 0 :(得分:6)

您可以使用pathinfo()功能(docs)。

$example  = "my_file.jpeg";
$filename = pathinfo($example, PATHINFO_FILENAME);
echo $filename; // my_file

答案 1 :(得分:0)

只需使用preg_replace:

$name = preg_replace('/(.+)\.\w+$/U', $_FILES['images']['name'], '$1');

答案 2 :(得分:0)

您可以使用rename删除扩展程序:

- > http://www.php.net/manual/en/function.rename.php

答案 3 :(得分:0)

正如我上面的评论所暗示的,这取决于你在文件名中考虑的是名称和扩展名是什么。

直到最后一点的一切:

$filename = 'some.file.name.zip';
$name = substr($filename, 0, strrpos($filename, '.'));

第一个点的所有内容:

$filename = 'some.file.name.zip';
$name = substr($filename, 0, strpos($filename, '.'));

它们看起来一样,但是第一个从字符串末尾查找第一个点,从字符串开头查找第二个点。