Очистить кеш подкаталогов Cloudflare - PullRequest
0 голосов
/ 15 декабря 2018

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

<?php
class Custom_Tools_Cflare
{
    public function clear($dir,$host,$uri) {
        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, "https://api.cloudflare.com/client/v4/zones/xxxxxxxxxx/purge_cache");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "{\"files\":[\"http://xxxx.com/".$dir."/".$uri."\",{\"url\":\"http://xxxx.com/".$dir."/".$uri."\",\"headers\":{\"X-Forwarded-Host\":\"".$host."\",\"X-Host\":\"xxxxxxx.com\"}}]}");
        curl_setopt($ch, CURLOPT_POST, 1);

        $headers = array();
        $headers[] = "X-Auth-Email: xxxx@xxxx.com";
        $headers[] = "X-Auth-Key: xxxxxxxxxxx";
        $headers[] = "Content-Type: application/json";
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        $result = curl_exec($ch);
        if (curl_errno($ch)) {
            echo 'Error:' . curl_error($ch);
        }
        curl_close ($ch);
    }
    public function myfunction(){

        $di = new RecursiveDirectoryIterator('http://xxxxx.com/');
        foreach (new RecursiveIteratorIterator($di) as $filename => $file) {
        $file->clear($di,$host,$uri);
        }
    }
}

1 Ответ

0 голосов
/ 29 апреля 2019

Вы можете очистить кэш subdir, используя модуль, который я написал под названием purge-cloudflare-cache:

Ответ здесь:

программная очистка кеша cloudflare

...