设置上传图像的宽度和高度

时间:2014-03-12 16:56:07

标签: php file-upload image-uploading

任何人都可以告诉我如何调整上传到图像的特定宽度和高度(800 * 600)。然后创建(400 * 300)缩略图并将缩略图保存到文件夹

1 个答案:

答案 0 :(得分:0)

注意:文件路径必须存在  使用Imagemagick

// File from upload form
$tempFile = $_FILES['file']['tmp_name'];
// path to save image ex. $_SERVER['DOCUMENT_ROOT'].'/images/upload/';
$targetPath = PATH_TO_FINAL_IMAGE_FOLDER;
// Grab image info
$fileParts = pathinfo($_FILES['file']['name']);
// Any file name will work keeping extension or just use $_FILES['file']['name']
$newName = MY_FILE_NAME.".".$fileParts['extension'];
// File path and file
$targetFile = $targetPath.$newName
move_uploaded_file($tempFile,$targetFile);
// Resize Imagemagick only
// New file (any valid extenstion and any name)
$resizedFile = $targetPath."NEW_NAME.png";
// Using Imagemagick to change image ONLY if bigger then desired size
exec('convert "'.$targetFile.'[0]" -flatten -monitor -colorspace RGB -resize "800x600>" "'.$resizedFile.'"');
// Thumb file
$resizedFile = $targetPath."/thumb/NEW_NAME.png";
// create thumb
exec('convert "'.$targetFile.'[0]" -flatten -monitor -colorspace RGB -resize "400x300>" "'.$thumb.'"');

//使用GD

调整大小

使用GD可以使用:

$src = imagecreatefromjpeg("PATH_TO_FILE");
$dst = imagecreatetruecolor("NEW_WIDTH", "NEW_HEIGHT");
imagecopyresampled($dst, $src, 0, 0, 0, 0, "NEW_WIDTH", "NEW_HEIGHT", "START_WIDTH", "START_HEIGHT");

imagecreatefromjpeg

imagecreatetruecolor

imagecopyresampled