【问题标题】:I can't open this PNG file with imagecreatefrompng()我无法使用 imagecreatefrompng() 打开这个 PNG 文件
【发布时间】:2011-07-07 17:22:00
【问题描述】:

这是一个 PNG 文件:http://imgur.com/NUl4v.png (是的,别介意这是一只带标志的有趣企鹅......)

运行以下代码时:

imagecreatefrompng('http://imgur.com/NUl4v.png');

我收到一个错误:

PHP 警告:imagecreatefrompng() [function.imagecreatefrompng]:无法读取 /home/test/...中的图像数据...

PNG 文件似乎没问题 - 我可以用不同的编辑器打开它,Unix file 命令报告它是:

PNG image, 640 x 360, 8-bit/color RGB, non-interlaced

PHP 版本: 5.2.13
GD 版本: 捆绑(2.0.34 兼容)

【问题讨论】:

  • 如果文件在您的文件系统上,它可以工作吗?
  • @Hamish:哇!它在本地打开良好。这很奇怪。
  • @Hamish:谢谢,但这似乎不是问题。然而,我确实找到了一些有用的东西。
  • imagecreatefrompng error的可能重复
  • @dra:哦,对了。虽然直到现在还不清楚问题出在哪里。

标签: php load png gd


【解决方案1】:

我不知道为什么,但以下工作:

imagecreatefromstring(file_get_contents('http://imgur.com/NUl4v.png'));

【讨论】:

  • 啊,这是他的问题:imagecreatefrompng('http://imgur.com/NUl4v.png'); 他正在发送要解析为图像的 URL。 (而不是 URL 的内容)
  • @Earlz:不,该函数需要一个字符串。
  • @George,是的,这就是我要说的:您正在传递 'imgur...' 给它,而不是该 URL 的实际内容是什么(如,您正在传递URL 本身而不是 URL 中包含的 PNG 数据)
  • @Earlz - imagecreatefrompng 需要文件名或 PNG 图像的路径,并且文档说“如果 fopen 包装器已启用,则 URL 可用作此函数的文件名。”。跨度>
【解决方案2】:

如果您尝试通过 URL 访问它,请参阅 allow_url_fopen 配置选项。如果未启用,PHP 将无法从远程资源加载它。

【讨论】:

  • 我检查了:这个选项设置为on
猜你喜欢
  • 2021-04-20
  • 1970-01-01
  • 2013-05-26
  • 2020-03-08
  • 1970-01-01
  • 2014-02-08
  • 2022-01-08
  • 1970-01-01
  • 2020-08-13
相关资源
最近更新 更多