【问题标题】:file_get_contents animated giffile_get_contents 动画 gif
【发布时间】:2021-01-07 15:22:52
【问题描述】:

在动画 GIF (https://media.tenor.com/images/4f20af75f32887384aab7e49c37537ae/tenor.gif) 的 URL 上调用 file_get_contents 并将此内容保存到本地文件,将丢失动画。

如何保留动画?

谢谢

【问题讨论】:

  • 是否可以选择使用 CURL? stackoverflow.com/questions/20321058/…
  • 显示你的代码保存图片
  • 无法复制,可能贴出你所有的代码
  • file_get_contents 不会改变内容。请分享您的代码

标签: php file-get-contents animated-gif


【解决方案1】:
$imgData = file_get_contents('https://media.tenor.com/images/4f20af75f32887384aab7e49c37537ae/tenor.gif');
file_put_contents("saveto/file.giff", $imgData);

适用于我的 PHP 7.4.13。检查写权限

【讨论】:

  • 确实适用于 file_put_contents。但我使用的是 Laravel 框架及其 Storage::put 方法,在这种情况下动画会丢失。使用 file_put_contents 文件大小为 216 ko,而使用 Storage::put 文件大小为 96 ko !
  • 查看:stackoverflow.com/questions/62220282/… 如果我的回答对您有帮助,请将此问题标记为已解决@MaximeFreschard
【解决方案2】:

问题是由于使用了Intervention/Image包的resize方法,上传后导致动画丢失。

我现在正在使用 imagick 的 convert 命令来调整动画 GIF 的大小,它可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2014-10-22
    • 2018-08-30
    相关资源
    最近更新 更多