【问题标题】:PHP GD Library and uploaded filesPHP GD 库和上传的文件
【发布时间】:2011-07-01 04:13:05
【问题描述】:

我正在做一个项目,我在其中上传图像 (jpg) 并使用 PHP GD 库对其进行操作。

我知道我可以使用 GD 函数来编辑图像资源(从 imagecreatefromjpeg() 创建),但我想知道是否有一种方法可以将 $_FILES 数组中上传的文件直接与 GD 库一起使用。我想到的一种解决方案是保存上传的文件,将其推送到 imagecreatefromjpeg 中,然后将其删除。

这似乎很笨拙,有没有更有效的解决方案?

我对 PHP 还是有点陌生​​,所以我不确定文件是如何存储在 $_FILES 数组中的。我希望我在这里有意义。谢谢。

【问题讨论】:

  • 您可以使用创建的临时文件,而无需保存它
  • ^^^ 那应该就是答案了:)

标签: php file-upload gd


【解决方案1】:

你可以这样做:

$img = imagecreatefromjpeg($_FILES['image']['tmp_name']);
// do gd operations on $img
imagejpeg($img, '/path/to/target');

您必须以某种形式使用imagecreatefrom,您可以直接在上传的文件上使用它。然后只需使用imagejpeg 保存您的操作结果。 tmp_name中上传的文件我们会自动丢弃。

话虽如此,您应该将原件保存在某处。随身携带以备后用总是好的。

【讨论】:

  • 希望我能两次投票给你。首先是直接从临时文件中读取正确答案,然后再次建议将原始文件存放在某处。这样做几乎总是值得的。
  • 啊,我在想一些事情。谢谢!
  • 我已经尝试过了...但仍然出现错误:imagecreatefrompng(): 'C:\wamp64\tmp\php6157.tmp' is not a valid PNG file in ... 我有一个上传的图片数组,如您所见,我有一个 tmp,但仍然有错误...有什么帮助吗?
猜你喜欢
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 2011-01-12
相关资源
最近更新 更多