Я использую Google Мои карты. Проблема заключается в том, что Google накладывает множество ограничений на использование своего API, что затрудняет автоматическое добавление или получение данных с карты.
У меня есть прямая ссылка на скачивание этого файла карты, который при нажатии загружает файл KML на любое устройство.
Мне нужен код на PHP, чтобы открыть эту ссылку, скачать файл KML и автоматически сохранить его на моем сервере.
я видел это в другом вопросе, но у меня это не сработало:
shell_exec("wget -P /target/directory/ http://download.link.com/download.zip");
Я думаю, что проблема заключается в том, что моя ссылка не ссылается на файл (не заканчивается на .zip или других расширениях файла)
Это пример для моей ссылки: Вот
Спасибо!
Ты можешь использовать file_put_contents
а также file_get_contents
функции, вот так:
$path = "/target/directory/file.kml"; // Where the file should be saved to
$link = "https://www.google.com/maps/d/u/0/kml..."; // Download link
file_put_contents($path, file_get_contents($link));
Это одно решение для сохранения информации в файл с помощью cURL
<?php
$ch = curl_init();
// You can add here the URL contains the information which should be fetched
curl_setopt($ch, CURLOPT_URL,'https://www.google.com/maps/d/kml?mid=1FcgdJK9tLMt_dygTbxObJHjyCoo&forcekml=1&cid=mp&cv=qDJ98FtrON4.he.');
// You can define the name which will be created with the extension, in this case it's .KML
$openFile = fopen('file.KML', 'w+');
// Here Curl will save the fetched information into the file.
curl_setopt($ch, CURLOPT_FILE, $openFile);
curl_exec ($ch);
curl_close ($ch);
fclose($openFile);
Убедитесь, что вы даете разрешение на папку на вашем сервере, где будет создан файл.