我正在编写一个上传图片并以画廊形式显示的网站的代码。我希望将图像的文件名作为图像的名称输入到网站的数据库中。然而,仅使用$_FILES ['images'] ['name'];
会给我带上文件扩展名的文件名。如何删除文件扩展名,以便我可以仅使用文件名?
我正在编写一个上传图片并以画廊形式显示的网站的代码。我希望将图像的文件名作为图像的名称输入到网站的数据库中。然而,仅使用$_FILES ['images'] ['name'];
会给我带上文件扩展名的文件名。如何删除文件扩展名,以便我可以仅使用文件名?
pathinfo()
函数(文档)来实现。$example = "my_file.jpeg";
$filename = pathinfo($example, PATHINFO_FILENAME);
echo $filename; // my_file
只需使用 preg_replace:
$name = preg_replace('/(.+)\.\w+$/U', $_FILES['images']['name'], '$1');
$filename = 'some.file.name.zip';
$name = substr($filename, 0, strrpos($filename, '.'));
第一个句点之前的所有内容:
$filename = 'some.file.name.zip';
$name = substr($filename, 0, strpos($filename, '.'));
它们看起来一样,但第一个从字符串末尾开始查找第一个点,而第二个从字符串开头开始查找。
some.name.tar.zip
这个有效的文件名中,.zip
是扩展名,而some.name.tar
是文件名吗?还是some
是文件名,name.tar.zip
是扩展名?实际上,你应该将扩展名包含在文件名中,这样当你向别人展示文件名时,他们可以识别出文件类型。 - Jonathan Kuhn