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

发布于 2024-12-08 16:49:49 字数 164 浏览 0 评论 0原文

我现在正在为一个网站编写代码,该网站上传图像,然后以图库样式显示它们。我想要发生的是将图像的文件名作为图像的名称输入到站点的数据库中。但是,仅使用 $_FILES['images']['name']; 即可为我提供文件名,但在末尾附加文件扩展名。如何删除文件扩展名以便可以单独使用文件名?

I'm writing the code for a website right now that's uploads images and then displays them gallery style. What I would like to happen is for the file name of the image to be entered into the site's database as the name of the image. However, just using $_FILES['images']['name']; gives me the file name but with the file extension attached at the end. How would I remove the file extension so I can use the file name by itself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

恬淡成诗 2024-12-15 16:49:49

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

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

You can use the pathinfo() function (docs).

$example  = "my_file.jpeg";
$filename = pathinfo($example, PATHINFO_FILENAME);
echo $filename; // my_file
蔚蓝源自深海 2024-12-15 16:49:49

只需使用 preg_replace 即可:

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

Just use preg_replace:

$name = preg_replace('/(.+)\.\w+$/U', $_FILES['images']['name'], '$1');
清秋悲枫 2024-12-15 16:49:49

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

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

You can use rename to remove the extension:

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

箹锭⒈辈孓 2024-12-15 16:49:49

正如我上面的评论所暗示的那样,这取决于您在文件名中认为的名称和扩展名是什么。

直到最后一个点的所有内容:

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

直到第一个点的所有内容:

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

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

As my comment above implies, it depends on what you consider in the filename to be the name and what is the extension.

everything up to the last dot:

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

everything up to the first dot:

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

they look the same, but the first one looks for the first dot from the end of the string and the second one from the start of the string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文