PHP移动上传文件动态文件名-文件没有扩展名
我想将一些GPX XML文件上传到服务器,并使用动态文件名(如0.GPX、1.GPX…)重命名它们。我不知道如何使用move_uploaded_file函数实现这一点,因为它只创建无扩展的文件。我得到一个“name”文件,而不是一个“name.gpx”文件 它不应该自动使用uploadef文件的PATHINFO_扩展名来创建具有正确扩展名的文件吗 我尝试过这样调用函数:PHP移动上传文件动态文件名-文件没有扩展名,php,file,upload,Php,File,Upload,我想将一些GPX XML文件上传到服务器,并使用动态文件名(如0.GPX、1.GPX…)重命名它们。我不知道如何使用move_uploaded_file函数实现这一点,因为它只创建无扩展的文件。我得到一个“name”文件,而不是一个“name.gpx”文件 它不应该自动使用uploadef文件的PATHINFO_扩展名来创建具有正确扩展名的文件吗 我尝试过这样调用函数: $filename = 0; move_uploaded_file($_FILES['uploadfiles']['tmp_n
$filename = 0;
move_uploaded_file($_FILES['uploadfiles']['tmp_name'][$f], $filename);
$filename++;
即使我尝试使用扩展名创建字符串,它也无法工作:
$tmp = 0;
$ext = pathinfo($name, PATHINFO_EXTENSION);
$filename = $tmp + "." + $ext;
move_uploaded_file($_FILES['uploadfiles']['tmp_name'][$f], $filename);
$tmp++;
请帮忙?我认为临时文件没有扩展名 您可以手动将gpx添加到名称:
$tmp = 0;
$filename = $tmp . ".gpx";
move_uploaded_file($_FILES['uploadfiles']['tmp_name'][$f], $filename);
$tmp++;
或者检查mimetype并从中创建适当的扩展
或者在$_FILES['uploadfield']['name']中使用扩展名,在白名单中进行匹配,并将其附加到最终文件名中。文件名应具有扩展名。这对我来说很好,可以找到扩展:
$temp = explode(".", $_FILES["uploadfiles"]["name"]);
$extension = end($temp);
echo $extension; // Display the extension
$tmp = 0;
$filename = $tmp.".".$extension;
move_uploaded_file($_FILES['uploadfiles']['tmp_name'][$f], $filename);
$tmp++;
希望这有帮助。如果您想知道/询问它是否会为您创建扩展,答案是否。请阅读手册,谢谢,这对我很有用。我认为我必须使用“+”来创建一个字符串,但你做对了。请在白名单中匹配扩展名,因为任何人都可以上传php脚本或其他讨厌的东西。这个web应用程序只是大学的一个练习,所以我只需要在localhost上使用它。不过,我已经在白名单中找到了它,只是没有必要在这里添加我的问题。无论如何谢谢你。很高兴能帮助你,PHP中的连接使用点。用“+”对我不起作用,我自己也试过了。当我像上面提到的UserProg那样做时,它就工作了。无论如何,谢谢你。