PHP GD .ico handling


PHP GD .ico handling

我的PHP web应用程序允许用户上传PNG和JPEG图像。上传算法如下:

  1. 通过文件名解析检查扩展名
  2. getimagesize()检查扩展
  3. 通过imagecreatefromng ()/imagepng() (imagecreatefromjpeg()/imagejpeg())重新创建图像
  4. <
  5. 重命名图像/gh>
  6. 保存到文件系统

图像重建用于安全性。一切正常。但现在我需要这个算法来处理。ico文件。似乎GD不能与。ico一起工作(没有像imagecreatefromico()这样的函数),所以我不知道如何实现我的算法的第3步。

谢谢你的帮助和建议。

请参阅https://github.com/lordelph/icofileloader获取可安装composer的类,该类可以将。ico文件加载到GD映像中。

例如:

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

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