获取访问URL时生成的PHP文件

时间:2017-03-22 21:18:58

标签: php

在PHP中,如何获取访问URL时生成的文件。要解释这一点,请访问此Google Drive URL

https://docs.google.com/document/d/1ZUqkdVQZqpHhE25m-5wxhN1uzK7EvoZ81bmrwiwk3CY/export?format=doc

下载将开始。如何在PHP中获取该下载文件?

2 个答案:

答案 0 :(得分:3)

虽然理论上file_get_contents应该适用于这种情况但它并不适合我。我不在代理人之后。

要获得更多控制权,我必须使用curl

我将代理配置作为代码的一部分,但对其进行了评论。

<?php

    $url = "https://docs.google.com/document/d/1ZUqkdVQZqpHhE25m-5wxhN1uzK7EvoZ81bmrwiwk3CY/export?format=doc";
    $fileToSave = dirname(__FILE__) . '/localfile.doc';
    // $proxy = "127.0.0.1:8080";

    set_time_limit(0);

    //This is the file where we save the    information
    $fp = fopen ($fileToSave, 'w+');

    //Here is the file we are downloading.
    $ch = curl_init($url);

    curl_setopt($ch, CURLOPT_TIMEOUT, 50);

    // write curl response to file
    curl_setopt($ch, CURLOPT_FILE, $fp);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    // Proxy stuff if you need it
    // curl_setopt($ch, CURLOPT_PROXY, $proxy);

    // ssl config here
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,  2);

    // get curl response
    if(curl_exec($ch) === false) {
        echo 'Curl error: ' . curl_error($ch);
    } else {
        echo 'Done';
    }

    curl_close($ch);
    fclose($fp);

答案 1 :(得分:0)

{{1}}

使用此方法获取文件内容,我在点击时返回CSV文件的网址上使用了此方法。