如何从在Laravel中重定向的网址下载文件?

时间:2019-12-04 02:11:22

标签: php redirect

从summernote下载嵌入式图像时遇到问题 从GMAIL复制图像时。

Gmail返回的链接如下:

https://mail.google.com/mail/u/0?ui=2&ik=d3d2b70b46&attid=0.2&permmsgid=msg-f:1651797278805284123&th=16ec5cdf9c25551b&view=fimg&sz=s0-l75-ft&attbid=ANGjdJ9_MfHq-YioubDagNZ5h216toG9gPg11wV4SkG0Q73urVHcSFnjGKdM4b6b7BfEir0xUp3f4A2ULo9A2srvLz4hlMdP727bJYHpSyL92kesSl3W74lRZFs9HBU&disp=emb&rv71

将这样重定向到动态网址:

https://gm1.ggpht.com/puicw0cCLZ4huu-Pwk3VHJ8R-wdB2bIHYi4v4F8yUxSnt0UpQQ5LArR9szM5JIqNHPo7JBUbFIf0nsh4JKakewl91Zl08pnNcxmMah6tAFNFWOFaiVJDhxA4RGHvyFxP90HR2DLKHL1MAz8TC9zY8qEliO3vxCv-KqNfq0WBvkFY2fb2GvAWtSTNhksmSHV8_pAKVRyT5aGnbmlH1SWRk_HmTfH27aoslF1P_Lc0245h2nwuhBQ6WpoMgE8eij_Z0QWrHqJWHB0xhAIFAdtIb5E

我无法使用此file_get_contents($link),因为我无法获得图片的原始链接

如何在Laravel控制器中获取图像的原始链接?

注意: 这些只是虚拟网址。

我的问题与此类似:How to download file from url that redirects?但我似乎找不到它的Laravel版本。

1 个答案:

答案 0 :(得分:0)

我们需要启用重定向。

$opts = array('http' =>
    array(
        'follow_location' => 1,
    )
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/', false, $context);

根据docs文档,默认情况下,启用了重定向,但是出于教育目的,我在上面明确地启用了重定向。