PHP проблема с получением перенаправления на работу - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь получить zip-файл для автоматической загрузки:

            $attachment_location =  "https://dev.com/daily/updates/com_prog_v1_8_0.zip";

            if (file_exists($attachment_location)) {

                header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
                header("Cache-Control: public"); // needed for internet explorer
                header("Content-Type: application/zip");
                header("Content-Transfer-Encoding: Binary");
                header("Content-Length:".filesize($attachment_location));
                header("Content-Disposition: attachment; filename=com_prog_v1_8_0.zip");
                readfile($attachment_location);
                die(); 

            }

Я пытался создать ссылку в браузере, и файл загружается без проблем.Я не уверен, что делать, чтобы отладить его.Насколько я могу сказать, это правильно.Я ожидаю запустить этот файл (и файл index.php) и запустить его.Я хорошо посмотрел другие посты и не могу понять проблему.

Я также попробовал просто

            file_put_contents("com_prog_v1_8_0.zip", fopen("https://dev.com/daily/updates/com_prog_v1_8_0.zip", 'r'));

, но это также выдает

Ошибка: файл не найден.

Любые идеи, которые я могу сделать, чтобы отследить проблему, были бы великолепны.Я уверен, что это должно быть что-то, что я не вижу для поиска!

thansk

1 Ответ

0 голосов
/ 11 февраля 2019

Я не верю, что file_exist () работает с URL.Попробуйте что-то вроде этого:

function url_exists($url){
    $ccmd = curl_init($url);    
    curl_setopt($ccmd, CURLOPT_NOBODY, true);
    curl_exec($ccmd);
    $rtncode = curl_getinfo($ccmd, CURLINFO_HTTP_CODE);
    curl_close($ccmd);

    if($rtncode == 200){
       return true;
    }
    return false;  
}
...