我在php的服务器端使用move_file_upload,以便客户端可以允许用户将他们的kml文件上传到服务器。我知道为了检查一个图像,在php中我可以使用$check = getimagesize(file)
但是对于kml文件检查会是什么?
我不想只检查文件的扩展名。我想知道文件是否是有效的kml文件。如果我只检查扩展名,有人可以发布一些其他恶意文件并将其扩展名更改为.kml
答案 0 :(得分:1)
如果您想查看该文件是否具有扩展名 KML,您可以使用:
$filename = $_FILES["file"]["name"]; //or however you are getting the filename
$ext = end((explode(".",$filename)));
if($ext!="kml"){
//Extension is incorrect
}
答案 1 :(得分:0)
检查mime内容可能会有所帮助。 我不太确定kml文件的正确mime名称是什么,但至少在google中检查它应该是:
mime_content_type ($file) === 'application/vnd.google-earth.kml+xml'
有可能将mime设置为&application; / xml'或者' text / xml'所以也需要扩展验证..