在 PHP 服务器上将图像大小更改为保存

Change image size to Save on PHP server

我的 Android 应用程序中有一个表单,它使用图像选择按钮将信息发送到 php 服务器。我想在使用 php 代码保存到服务器之前调整图像大小:

<?php
  move_uploaded_file($_FILES['file']['tmp_name'],'uploads/'.$_FILES['file']
  ['name']);
  $orgfile='uploads/'.$_FILES['file']['name'];
  list($width,$height)=getimagesize($orgfile);
  $newfile=imagecreatefromjpeg($orgfile);
  $thumb='uploads/a/'.$_FILES['file']['name'];
  $truecolor=imagecreatetruecolor(600,400);
  imagecopyresampled($truecolor,$newfile,0,0,0,0,600,400,$width,$height);
  imagejpeg($truecolor,$thumb,100);
  unlink($orgfile);
?>

此代码仅调整 jpeg 图像的大小,而其他格式(png 或 gif 甚至 jpg)保存了黑色图像。

有必要提到图像文件的名称已更改为随机数,例如“32165465423”,我不知道在我的[=中使用"imagecreatefrompng"或"imagecreatefromgif"的图像格式26=] 文件.

我想要像 "imagecreatefromall" 或其他代码...

谢谢你们(抱歉英语不好)

您将必须检测图像的类型,在此基础上您可以 运行 该功能。请参阅一个很酷的 php 库以供参考

https://github.com/eventviva/php-image-resize/blob/master/lib/ImageResize.php#L77