Tag Archives: resize

PHP: Upload และปรับเปลี่ยนขนาดรูปภาพ

!! ถ้า upload ไม่ผ่าน ให้เซ็ต permission เป็น 777
แต่ถ้ายัง upload ไม่ผ่านอีก อาจเป็นเพราะไม่สามารถเซ็ต permission จาก ftp client ได้
ให้ไปเซ็ต permission ที่ panel ให้เป็น 777

$_FILES[‘var’][‘tmp_name’] แสดงเท็มสำหรับการอัพโหลด
$_FILES[‘var’][‘name’] แสดงชื่อไฟล์
$_FILES[‘var’][‘size’] แสดงขนาดของไฟล์มีหน่วยเป็นไบต์
$_FILES[‘var’][‘type’] แสดงประเภทของไฟล์
$_FILES[‘var’][‘error’] แสดงรายละเอียดข้อผิดพลาด

ไฟล์ .html

</pre>
<form action="upload_resize.php" enctype="multipart/form-data" method="post">
<h2>Form upload and resize image.</h2>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    <input type="file" name="fileupload" />

    <input type="submit" value="submit" />
    <input type="reset" value="Reset" />
  </form>
<pre>

ไฟล์ .php

<?php 
	function imageResize( $ext, $ori_file, $new_file )
	{
		$max_imageSize = 400;
		$ori_size = getimagesize($ori_file);
		$ori_w = $ori_size[0];
		$ori_h = $ori_size[1];
		
		if($ori_w > $ori_h) {
			$new_w = $max_imageSize;
			$new_h = round(($new_w/$ori_w) * $ori_h);
		}
		else
		{
			$new_h = $max_imageSize;
			$new_w = round(($new_h/$ori_h) * $ori_w);
		}
	
		if ($ext == "jpg" or $ext == "jpeg") {
			$ori_img = imagecreatefromjpeg($ori_file);
		} else
		if ($ext == "png") {
			$ori_img = imagecreatefrompng($ori_file);
		} else
		if ($ext == "gif") {
			$ori_img = imagecreatefromgif($ori_file);
		} 

		$new_img = imagecreatetruecolor($new_w, $new_h);
		imagecopyresized($new_img, $ori_img, 0, 0, 0, 0, $new_w, $new_h, $ori_w, $ori_h);
		if ($ext == "jpg" or $ext == "jpeg") {
			imagejpeg($new_img, $new_file); 
		} else
		if ($ext == "png") {
			imagepng($new_img, $new_file); 
		} else
		if ($ext == "gif") {
			imagegif($new_img, $new_file); 
		}
		
		imagedestroy($ori_img);
		imagedestroy($new_img);
	}

	$imagePath = "./uploads/";
	$new_file = $imagePath . "test_resize.jpg";
	//echo $new_file;
	echo "<br>";

	$fileupload = $_FILES['fileupload']['tmp_name'];
	$fileupload_name = $_FILES['fileupload']['name'];
	$fileupload_size = $_FILES['fileupload']['size'];
	$fileupload_type = $_FILES['fileupload']['type'];

	echo $fileupload;
	echo "<br>";
	echo $fileupload_name;
	echo "<br>";

	$ext = strtolower(end(explode('.', $fileupload_name)));
	
	if ($ext == "jpg" or $ext == "jpeg" or $ext == "png" or $ext=="gif") {
		copy($fileupload, $imagePath . $fileupload_name);
 	
		$ori_file = $imagePath . $fileupload_name;
		imageResize( $ext, $ori_file, $new_file );
		unlink($fileupload);
		
		echo "<H1>Upload and resize complete</h1>";
	} else {
		echo "<h1>Error</h1>";
	}
?>

ที่มา: thaicreate.com/

PHP: เปลี่ยนขนาดรูปภาพ JPEG

<?php
	function imageResize( $ori_file, $new_file )
	{
		$max_imageSize = 100;
		$ori_size = getimagesize($ori_file);
		$ori_w = $ori_size[0];
		$ori_h = $ori_size[1];

		if($ori_w > $ori_h) {
			$new_w = $max_imageSize;
			$new_h = round(($new_w/$ori_w) * $ori_h);
		}
		else
		{
			$new_h = $max_imageSize;
			$new_w = round(($new_h/$ori_h) * $ori_w);
		}

		$ori_img = imagecreatefromjpeg($ori_file);
		$new_img = imagecreatetruecolor($new_w, $new_h);
		imagecopyresized($new_img, $ori_img, 0, 0, 0, 0, $new_w, $new_h, $ori_w, $ori_h);

		imagejpeg($new_img, $new_file);
		imagedestroy($ori_img);
		imagedestroy($new_img);
	}

	$imagePath = "./images/";
	$ori_file = $imagePath . "test.jpg";
	$new_file = $imagePath . "test_resize.jpg";

	echo "<H1>Start resizing image</h1>";
	imageResize( $ori_file, $new_file );

	echo "<H1>Resize complete</h1>";
	echo "<img src='$ori_file'>";
	echo "<img src='$new_file'>";
?>