【问题标题】:Resize uploaded image to max width, max height?将上传的图像调整为最大宽度,最大高度?
【发布时间】:2012-07-09 17:41:07
【问题描述】:

我有一个 php 图片上传上传表单,我想做的是在图片保存在我的服务器上之前,需要调整它的大小以确保高度不超过我设置的最大高度,并且宽度不超过我设置的最大宽度。我在想这样做的方法首先是a)检查宽度是否大于最大宽度。如果是这样,请按比例调整图像大小,使宽度等于最大宽度。然后,检查高度。如果高度超过最大高度,则按比例调整图像大小,使高度等于最大高度。

有什么建议吗? GD 安装在我的服务器上..

假设图片为echo $_FILES["file"]["name"];

【问题讨论】:

  • 这些都是你的选择:我相信它们都需要一些安装+配置:php.net/manual/en/refs.utilspec.image.php
  • 如果您想要轻量级,请不要调整图像大小两次,只需进行一些数学运算并仅调整一次大小。

标签: php image-uploading


【解决方案1】:

使用gd 是轻量级的。不使用库来调整图像大小的想法基本上很幽默。

【讨论】:

  • gd 的问题是安装过程(在我读过的那些)需要访问服务器和安装库的能力,而我不能。我可以使用require 'gs_whatever.php 在我的网站中简单地包含一个 php 文件吗?
  • 我有cpanel。怎么查?
  • @JonahKatz:您是否确认您的网络主机没有安装gd?这是相当标准的,我希望任何专业的网络主机的 PHP 安装都有它。我怀疑你会找到像你描述的那样用 PHP 实现的 PHP 图像处理库,因为没有人需要,因为每个人都有 gd
  • @JonahKatz:你为什么不写一个调用gd函数的PHP脚本,看看它是否运行?或者,如果它没有被锁定,您可以创建一个运行 <?php phpinfo() ?> 的脚本并查看其输出以查看其中有哪些模块。
  • 好吧,你说得对,服务器确实安装了 GD。所以现在我需要弄清楚如何使用 gd 来做我想做的事..
【解决方案2】:

我已经回答了与您的问题类似的问题:

Resize images with PHP

它使用 GD b/c,就像 Chaos 所说的那样,它没有变得更轻量级。

此脚本根据需要调整图像大小,但会缓存曾经调用过的每个图像的每个大小,因此不必再次调整大小。

【讨论】:

  • 嗯,它接近但不完全是我想要的。我不想传递尺寸,因为我不知道尺寸。每张上传的图片大小不同,应缩放以适应最大高度/宽度
  • 您传入要使用的最大 w/h,它将源图像缩小到该要求
  • 它将使用以下命名约定“ORIGINALFILENAME_WIDTHxHEIGHT.jpg”创建原始文件的“缩略图”版本,如果文件已经完美匹配,它将复制文件。
  • 另请注意,它保留原始文件以供将来调整大小(如果您更改设计并需要重新生成缩略图)
猜你喜欢
  • 1970-01-01
  • 2014-04-04
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 2016-03-30
  • 2017-12-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多