Решено - PHP. сохранение многих страниц в виде png из командной строки - PullRequest
0 голосов
/ 06 апреля 2020

Я получаю доступ к странице через GET (часть ее содержимого загружается с помощью jquery), в документе. Эта страница уже сохраняется в виде png.

Я хочу вызвать эту страницу из командной строки, используя внутри команды a для l oop, чтобы сохранить несколько PNG. Как мне это сделать?

Если я запускаю это в браузере, оно работает нормально, но идея не в том, чтобы сделать это вручную, один за другим для каждого кода GLN.

curl не работает или я его использую неправильно ?

<script> 
@isset($saveCode)
            $("#btnPng").click();
@endisset

 $("#btnPng").click(function () {
        var selected_date = $('#selectReportDate').find(':selected').val() ;
        var selected_gln = $('#selectAccount').find(':selected').val() ;
        html2canvas($("#printable"), {
        onrendered: function (canvas) {
                  var url = canvas.toDataURL();
                  $("<a>", {
                    href: url,
                    download: selected_date + selected_gln
                  })
                  .on("click", function() {$(this).remove()})
                  .appendTo("body")[0].click()
                }
        })
    });

</script>

код дескриптора команды

public function handle()
    {

        $date = WeeklyTopSheetsData::max('report_date');
        $accounts = REF_GA_GLN::Select('gln')->orderBy('account_name')->get();

        foreach ($accounts as $account) {

            $auxURL = 'http://localhost:8000/topsheet/' . $account['gln'] . '/' . $date . '/1';
            $ch = curl_init();

            echo $auxURL;
            //set URL and other appropriate options
            curl_setopt($ch, CURLOPT_URL, $auxURL);
            curl_setopt($ch, CURLOPT_HEADER, 0);

            // grab URL and pass it to the browser
            curl_exec($ch);

            // close cURL resource, and free up system resources
            curl_close($ch);
        }
        echo ' FIN';
    }
}
...