Отправить изображение с Google Drive или получить имя изображения по URL Google Drive - PullRequest
0 голосов
/ 15 марта 2020

У меня есть URL-адрес google drive ex: https://drive.google.com/file/d/1u-FuKcHPigtDdaW4a1It4ZRUtgl0RqQW/view Все, что я хочу сделать, это загрузить его с PHP CURL, что невозможно. Он просто дает мне файл изображения с содержанием html, где Google говорит, что они не могут позволить сделать этот процесс. Так есть ли способ скачать это изображение? Или, может быть, есть способ получить имя файла по этому URL? Спасибо.

Внутреннее изображение, когда я открыл его с помощью блокнота, я вижу:

<HTML>
<HEAD>
<TITLE>Moved Temporarily</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Moved Temporarily</H1>
The document has moved <A HREF="https://doc-0g-bg-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/q49qhj97jrb5sim417hnaufqbno3fusq/1584296100000/13001434112142294195/*/1u-FuKcHPigtDdaW4a1It4ZRUtgl0RqQW?e=download">here</A>.
</BODY>
</HTML>

CURL:

<?php

function grab_image($url,$saveto){
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    $raw=curl_exec($ch);
    curl_close ($ch);
    if(file_exists($saveto)){
        unlink($saveto);
    }
    $fp = fopen($saveto,'x');
    fwrite($fp, $raw);
    fclose($fp);
}


grab_image('https://drive.google.com/a/file/uc?id=1u-FuKcHPigtDdaW4a1It4ZRUtgl0RqQW&export=download', 'test.jpg');

 ?>

1 Ответ

0 голосов
/ 16 марта 2020

https://curl.haxx.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html

curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
...