繁体   English   中英

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

[英]Remove file extension on file upload

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

您可以使用pathinfo()函数( docs )。

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

只需使用preg_replace:

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

您可以使用rename删除扩展名:

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

正如我上面的评论所暗示的那样,它取决于您在文件名中考虑的是名称以及扩展名是什么。

到最后一个点的一切:

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

一切到第一个点:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM