我想上传一些GPX(技术上是XML)文件到服务器,并使用动态文件名(如0。gpx 1。GPX…)。我不知道如何用move_uploaded_file函数做到这一点,因为它只创建无扩展的文件。我得到一个'name'文件而不是'name'文件。gpx文件。
它不应该自动使用uploadef文件的PATHINFO_EXTENSION来创建具有正确扩展名的文件吗?
我试着这样调用这个函数:
$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++;
帮助吗?
文件名应有扩展名。这对我来说很好找到扩展:
$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++;
我不认为临时文件有扩展名。
您可以手动添加"gpx"到名称:
$tmp = 0;
$filename = $tmp . ".gpx";
move_uploaded_file($_FILES['uploadfiles']['tmp_name'][$f], $filename);
$tmp++;
或者可以检查mime类型并从中制作适当的扩展。
或者取$_FILES['uploadfiled']['name']
中的扩展名,在白名单中匹配它,并将其附加到您的最终文件名。