调整图像大小和移动图像

时间:2013-09-27 09:58:23

标签: php image

我是PHP的初学者,这就是我想要做的事情:

  1. 接收上传的图片并将其移至temp / folder
  2. 检查它并决定是否需要调整大小(如果宽度不是135px则需要)
  3. 如果需要调整大小,请调整其大小并保存为结果/ {number} _cover.jpg
  4. 如果没有,请立即将上传的图像复制到同一位置,而不必调整大小
  5. 这是我的代码:

                $target_path = "temp/";
                $target_path = $target_path . basename($_FILES["file" . $a]["name"]); 
                move_uploaded_file($_FILES["file" . $a]["tmp_name"], $target_path);
    
                list($current_width, $current_height, $type, $attr) = getimagesize($target_path);
                if($current_width != 135) {
                    $filename = $a . "_cover.jpg";
                    $result_image = "results/" . $filename;
                    $writing = fopen($result_image, 'w');
                    $scale = (135 / $current_width);
                    $new_width = 135;
                    $new_height = $current_height * $scale;
                    $result_image = imagecreatetruecolor($new_width, $new_height);
                    $current_image = imagecreatefromjpeg($target_path);
                    imagecopyresampled($result_image, $current_image, 0, 0, 0, 0, $new_width, $new_height, $current_width, $current_height);
                    imagejpeg($result_image, null, 100);
                    fclose($writing);
                } else {
                    $target_path = "results/";
                    $target_path = $target_path . $a . "_cover.jpg"; 
                    move_uploaded_file($_FILES["file" . $a]["tmp_name"], $target_path);
                }
    

    然而,这就是这段代码对我的作用:  1.如果图像需要调整大小,它只会向浏览器提供图像数据,而不是将其保存到文件中  2.如果不需要调整大小,则不会发生任何事情。

    我做错了什么?

    提前感谢您的帮助!

0 个答案:

没有答案