используя php, чтобы проверить, является ли файл файлом kml

Я использую move_file_upload на моей стороне сервера в php, чтобы клиент мог позволить пользователям загружать свои файлы kml на сервер. Я знаю, что для проверки изображения в php я могу использовать $check = getimagesize(file) но что будет эквивалентно проверке файла kml?

Я не хочу просто проверять расширение файла. Я хотел бы знать, является ли этот файл действительным файлом kml или нет. Если я проверю только расширение, кто-то может просто опубликовать какой-нибудь другой вредоносный файл и изменить его расширение на .kml.

0

Решение

Если вы хотите увидеть, имеет ли файл расширение KML, вы можете использовать:

$filename = $_FILES["file"]["name"]; //or however you are getting the filename
$ext = end((explode(".",$filename)));

if($ext!="kml"){
//Extension is incorrect
}
1

Другие решения

Проверка содержания пантомимы может быть полезной.
Я не совсем уверен, каково правильное имя mime для файлов kml, но по крайней мере с проверкой в ​​Google это должно быть что-то вроде:

mime_content_type ($file) === 'application/vnd.google-earth.kml+xml'

Вполне возможно, что для MIME установлено значение «application / xml» или «text / xml», поэтому требуется также проверка расширения.

0

По вопросам рекламы [email protected]