尝试使用PHP表格上传GPX(xml)文件。
形式:
<form enctype="multipart/form-data" action="upload_gpx.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000000" />
Upload GPX File: <input name="file" type="file" />
<input type="submit" value="Send File" />
脚本:
$allowedExts = array("gps","xml","gpx");
$fileName="rk".".gpx";
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "text/gpx") ||($_FILES["file"]["type"] == "text/xml"))
&& ($_FILES["file"]["size"] < 50000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("files/gpx/" . $_FILES["file"]["name"])) {
move_uploaded_file($_FILES["file"]["tmp_name"], "files/gpx/" .$fileName);
echo "Stored in: " . "files/gpx/" . $_FILES["file"]["name"];
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "files/gpx/" .$fileName);
echo "Stored in: " . "files/gpx/" . $_FILES["file"]["name"];
}
}
} else {
echo "Invalid file";
}
上传xml文件时工作正常,上传.gpx文件时,它只是转到“无效文件”回显。尝试更改“==”text / gpx“)”to“==”application / gpx“)”但结果相同。不知道如何正确上传.GPX文件?会有所帮助。
编辑:作为临时修复更改“($ _FILES [”file“] [”type“] ==”text / gpx“)”to“($ _FILES [”file“] [”type“] == “application / octet-stream”)“和工作。