PHP GD.ico处理

2022-05-29 00:00:00 file-upload php gd

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

  1. 按文件名检查扩展名解析
  2. 按getimageSize检查扩展()
  3. 通过Imagecreatefrom mpng()/Imagepng()(Imagecreatefrom mjpeg()/Imagejpeg())重新创建镜像
  4. 重命名映像
  5. 保存到文件系统

图像重现是为了安全。一切都运行得很好。但现在我需要这个算法来处理.ico文件。GD似乎不能与.ico一起使用(没有像ImagecreateFromico()这样的函数),所以我不知道如何实现算法的第三步。

感谢您的帮助或建议。


解决方案

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

例如:

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

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

相关文章