我正在使用PHP将图像从表单上传到服务器,并希望重命名图像lastname_firstname.[原始扩展名].我目前有:
move_uploaded_file($_FILES["picture"]["tmp_name"], "peopleimages/" . "$_POST[lastname]" . '_' . "$_POST[firstname]")
Run Code Online (Sandbox Code Playgroud)
当然,它没有扩展名重命名文件lastname_firstname.如何重命名文件但保留扩展名?
谢谢!
Pas*_*TIN 33
你需要先找出原来的扩展名是什么;-)
要做到这一点,该pathinfo
功能可以创造奇迹;-)
引用手册中给出的示例:
$path_parts = pathinfo('/www/htdocs/index.html');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // since PHP 5.2.0
Run Code Online (Sandbox Code Playgroud)
会给你 :
/www/htdocs
index.html
html
index
Run Code Online (Sandbox Code Playgroud)
作为旁注,不要忘记安全性:
$_POST[lastname]
,以确保它只包含有效字符
$_POST['lastname']
- 看看为什么是$foo[bar]
错的?mime_content_type
PHP <5.3finfo_file
PHP> = 5.3