Я хотел бы использовать этот скрипт для загрузки канала XML, который обновляется каждые 20 минут. Проблема в том, что имя файла имеет дату и время. Может кто-нибудь указать мне в правильном направлении, как изменить его, чтобы он всегда выбирал самый новый файл, чтобы я мог обновить запас.
Примеры имен файлов:
Feed2842020175940. xml
Feed2842020173907. xml
Feed2842020171807. xml
Вызов функция из опции «Скачать с URL» на шаге 1:
[custom_file_download("ftp://username:password@hostname.com/path/to/file.xml","xml")]
Сама функция:
// Programmatically download and return import file via URL.
function custom_file_download($url, $type = 'xml'){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
/* Optional: Set headers...
* $headers = array();
* $headers[] = "Accept-Language: de";
* curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
*/
$result = curl_exec($ch);
if (curl_errno($ch)) {
exit('Error:' . curl_error($ch));
}
curl_close ($ch);
$uploads = wp_upload_dir();
$filename = $uploads['basedir'] . '/' . strtok(basename($url), "?") . '.' . $type;
if (file_exists($filename)){
@unlink($filename);
}
file_put_contents($filename, $result);
return str_replace($uploads['basedir'], $uploads['baseurl'], $filename);
}