【问题标题】:How to set original image height & width on resize script?如何在调整大小脚本上设置原始图像高度和宽度?
【发布时间】:2013-11-25 01:41:03
【问题描述】:

我终于能够完成多图像调整器的脚本,目前它将原始图像调整为其他 3 种尺寸,但我无法弄清楚如何设置原始高度和宽度。我使用了getimagesize(),但它似乎不起作用。

整个代码都在这里,但我认为没有必要在这里发布所有代码。 http://pastebin.com/UR75tdj3

我已执行以下操作来设置我希望它们调整大小的每个图像的高度和宽度。

$uploadedfile       = $_FILES['file']['tmp_name'];

list($width,$height)= getimagesize($uploadedfile);

#large
$largeWidth     = 670;
$largeHeight        = 330;
$largeTmp           = imagecreatetruecolor($largeWidth, $largeHeight);

#medium
$mediumwidth        = 330;
$mediumheight       = 330;
$mediumTmp          = imagecreatetruecolor($mediumWidth,$mediumHeight);

#small
$smallWidth     = 327;
$smallHeight        = 158;
$smallTmp           = imagecreatetruecolor($smallWidth,$smallHeight);

但我也想将原始文件输入到另一个文件夹中,所以我做了以下操作,认为getimagesize($_FILES['file']['tmp_name']) 会正确返回它们,但事实并非如此。

#original
$originalWidth      = $width;    //here and
$originalHeight = $height;   // here 
$originalTmp        = imagecreatetruecolor($originalWidth,$originalHeight);

那么我如何获得我上面尝试做的原始图像高度和宽度?

$originalWidth 和 $originalHeight 应该返回特定的图像宽度和高度,但它没有,这是我遇到的唯一问题。

【问题讨论】:

  • 你为什么不简单地复制原件而不是处理它?复制从图像处理中占用的资源要少得多。

标签: php


【解决方案1】:

你想检查的大小 $_FILES['file']['tmp_name']

存储在系统中的实际上传文件

不是$_FILES['file']['name'],这只是文件名

【讨论】:

  • 我应该在上面发布特定部分,代码实际上是检查 $_FILES['file']['tmp_name'];。我编辑了上面的代码,这是我的错误。
  • 不应定义它们,因为它们假定等于原始 tmp 图像高度和宽度,但事实并非如此。我使用 getimagesize 进行检索,但是当我使用 $height 或 $width 设置它们时它不起作用。
猜你喜欢
  • 2016-03-30
  • 1970-01-01
  • 2017-12-08
  • 2013-04-28
  • 2014-04-04
  • 2014-08-03
  • 2013-09-14
  • 2017-07-12
  • 1970-01-01
相关资源
最近更新 更多