Search code examples
downloading-website-files

PHP: Downloading pdf file without direct link


I am trying to download pdf file from this url:

http://knihy.cpress.cz/?p=actions&action=download/file&value=files&id=149253

I tried get file through file_get_contents, but it downloaded just php file without actual pdf.

Is there a way to download this file?

Thank you very much!


Solution

  • <?php
    
        function collect_file($url){
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_VERBOSE, 1);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_AUTOREFERER, false);
            curl_setopt($ch, CURLOPT_REFERER, "http://www.xcontest.org");
            curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
            curl_setopt($ch, CURLOPT_HEADER, 0);
            $result = curl_exec($ch);
            curl_close($ch);
            return($result);
        }
    
        function write_to_file($text,$new_filename){
            $fp = fopen($new_filename, 'w');
            fwrite($fp, $text);
            fclose($fp);
        }
    
    
        // start loop here
    
        $new_file_name = "testfile.pdf";
        $url = "http://knihy.cpress.cz/?p=actions&action=download/file&value=files&id=149253";
    
        $temp_file_contents = collect_file($url);
        write_to_file($temp_file_contents,$new_file_name)
    
        // end loop here
    ?>
    

    from here