PHP GD .ico 处理

标签 php file-upload gd

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

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

图像重建用于安全。一切正常。但现在我需要这个算法来处理 .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);

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

关于PHP GD .ico 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40572828/

相关文章:

javascript - SAPUI5 文件 uploader : Cannot find and append file to FormData()

PHP GD文字不流畅

PHP imagefttext(imagettftext)不显示任何内容

javascript - 为什么我的 php 连接到 mysql 服务器不起作用?

php - 选择待处理请求(Friendship Restful Api)PHP 和 MySql

java - 如何在 Antlr-4 词法分析器规则的操作中获取 token 属性

php - WordPress 媒体文件上传 403 禁止

php - 使用 GDB 调试 PHP 解释器

安卓 : How to get internet connection upload speed and latency?

php - 只处理单张图片需要imagedestroy()吗?