使用PHP调整大小,重命名和上传图像

时间:2018-01-18 19:00:03

标签: php

我想用PHP重新调整大小,重命名和上传图像。

所以我的工作脚本如下:

posPercents.Length - 1

此脚本出现问题是上传两张图片:

  • 重新命名的图片但未显示。
  • 未重命名的图片,但已调整大小。

为什么?

1 个答案:

答案 0 :(得分:0)

您正在创建图像,然后移动上传的文件,这就是它创建两个文件的原因。我相信你的代码应该是:

$file_name = $_FILES['HOT_Logo']['name'];
$file_tmp_name = $_FILES['HOT_Logo']['tmp_name'];
$file_target = '../../images/hotel-logos/';
$file_size = $_FILES['HOT_Logo']['size'];

// Resize
$ratio = $width/$height;
if($ratio > 1) {
    $new_width = 300;
    $new_height = 300/$ratio;
}
else {
    $new_width = 300*$ratio;
    $new_height = 300;
}

// Rename file
$temp = explode('.', $file_name);
$newfilename = 'new_img_name.'.end($temp);

// Upload image
if(move_uploaded_file($file_tmp_name , $file_target.$newfilename)) {
    $src = imagecreatefromstring(file_get_contents($file_target.$newfilename));
    $dst = imagecreatetruecolor($new_width, $new_height);
    imagecopyresampled($dst, $src, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    imagedestroy($src);
    imagepng($dst, $file_target.$newfilename);
    imagedestroy($dst);

    ....
}