PHP GD .ico处理

时间:2016-11-13 10:28:22

标签: php file-upload gd

我的PHP webapp用户可以上传PNG和JPEG图像。上传算法如下:

  1. 按文件名解析检查扩展名
  2. 通过getimagesize()
  3. 检查扩展名
  4. 通过imagecreatefrompng()/ imagepng()重新创建图像(imagecreatefromjpeg()/ imagejpeg())
  5. 重命名图片
  6. 保存到文件系统
  7. 图像重新用于安全性。一切正常。但现在我需要这个算法来处理.ico文件。看起来GD不适用于.ico(没有像imagecreatefromico()这样的功能),所以我不知道如何实现算法的第3步。

    感谢您提供任何帮助或建议。

1 个答案:

答案 0 :(得分:1)

有关可以将.ico文件加载到GD图像中的作曲家可安装的类,请参阅https://github.com/lordelph/icofileloader

例如:

$loader = new Elphin\IcoFileLoader\IcoFileService;
$im = $loader->extractIcon('/path/to/icon.ico', 32, 32);

有关从图标文件中分析和提取图像的其他方法,请参阅文档。