【问题标题】:PHP ThumbnailsPHP 缩略图
【发布时间】:2010-10-06 13:58:58
【问题描述】:

我正在寻找一种使用 PHP 和 GD 动态创建缩略图的方法,但每次我选择一个可能 10MegaPixels 约 4-5MB 的大图像时都会出错

**images/Surabhi_Cow.jpgimages/tn/Surabhi_Cow.jpg
Fatal error: Allowed memory size of 31457280 bytes exhausted (tried to allocate 10368 bytes) in C:\Program Files\xampp\htdocs\MySite\Staff\test.php on line 51**

将 php.ini 中的 memory_limit 更改为 60 可以解决问题,但我的主机只允许 memory_limit 为 32M。我还有哪些其他选项可以即时生成缩略图? 我检查了 phpThumb() 但并没有真正明白。所以欢迎任何其他选择!

【问题讨论】:

  • 有没有可能在命令行运行一些东西?

标签: php thumbnails


【解决方案1】:

您想使用ImageMagick。它在处理大图像方面比 GD 效率更高。

【讨论】:

  • 非常适合这个,重采样很棒。
【解决方案2】:

如果您只想生成缩略图。我推荐这个名为 imagethumb.php 的漂亮小脚本。你可以在这里下载:http://www.olivo.net/software/imagethumb/

此脚本可生成出色的缩略图,绝对没有像素化。它接受附加到调用脚本的 URL 的高度或宽度参数。它真的很容易使用并附带文档(您将阅读全部 2 分钟)。

在登陆这个之前,我尝试了其他缩略图脚本,例如“ThumbsUp”(例如)。顺便说一句,它还呈现 .png 图像和 .gif (如果我没记错的话)。如果您有大文件,缓存功能将使您的服务器更容易。另外,我假设您的服务器安装了GD 库或ImageMagick。祝你好运;)

【讨论】:

    【解决方案3】:

    正如其他人所说,如果图像那么大,是时候放弃 GD 并切换到 ImageMagick。不过要警告一句:在命令行上完成所有操作 - 外面的类包装器需要彻底重新发明,每一个轮子都需要。

    【讨论】:

      【解决方案4】:

      考虑使用基于命令行的方法。例如,您可以从命令行调用ImageMagick 来调整图像大小。

      除此之外,在纯 PHP 中,很难看到如何编辑比 RAM 更大(RGB 格式)的图像...

      【讨论】:

        【解决方案5】:

        我正在对该主题进行一些研究,发现 Imagick 在处理更大的图像方面效率更高。您将通过允许的内存或最大执行时间。更好的方法是使用 Imagick 库。查看有关如何使用 Imagick 即时generate thumbnails with php 的信息。

        【讨论】:

          猜你喜欢
          • 2011-06-15
          • 1970-01-01
          • 2014-02-25
          • 2012-12-14
          • 2011-02-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多