Скачать файл по прямой ссылке и сохранить на сервере - PHP - PullRequest
0 голосов
/ 18 сентября 2018

Я использую Google Мои карты.Проблема заключается в том, что Google накладывает множество ограничений на использование их API, что затрудняет автоматическое добавление или получение данных с карты.

У меня есть прямая ссылка на скачивание этого файла карты, который загружает файл KML в любойустройство при нажатии.

Мне нужен код на PHP, чтобы открыть эту ссылку, загрузить файл KML и автоматически сохранить его на моем сервере.

Я видел это в другом вопросе, ноу меня это не сработало:

shell_exec("wget -P /target/directory/ http://download.link.com/download.zip");

Я думаю, проблема в том, что моя ссылка не ссылается на файл (не заканчивается на .zip или другие расширения файла). Это пример моей ссылки: здесь

Спасибо!

Ответы [ 2 ]

0 голосов
/ 18 сентября 2018

Это одно решение для сохранения информации в файл с помощью 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);

Убедитесь, что вы даете разрешение на папку на вашем сервере, где будет создан файл.

0 голосов
/ 18 сентября 2018

Вы можете использовать функции 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));
...