gpt4 book ai didi

php - 上传时如何将图像尺寸或质量减小到特定尺寸

转载 作者:行者123 更新时间:2023-11-29 03:27:36 25 4
gpt4 key购买 nike

在 PHP 查询表单中,每当用户上传任何大小的图像时,我都会尝试设置图像大小的限制,该图像会自动缩小到特定大小。我不知道,所以请给我一些建议。

最佳答案

试试这个链接 https://www.apptha.com/blog/how-to-reduce-image-file-size-while-uploading-using-php-code/

以下是在用 PHP 上传时减小图像大小的示例。

    <?php
$name = ''; $type = ''; $size = ''; $error = '';
function compress_image($source_url, $destination_url, $quality) {

$info = getimagesize($source_url);

if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source_url);

elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source_url);

elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source_url);

imagejpeg($image, $destination_url, $quality);
return $destination_url;
}

if ($_POST) {

if ($_FILES["file"]["error"] > 0) {
$error = $_FILES["file"]["error"];
}
else if (($_FILES["file"]["type"] == "image/gif") ||
($_FILES["file"]["type"] == "image/jpeg") ||
($_FILES["file"]["type"] == "image/png") ||
($_FILES["file"]["type"] == "image/pjpeg")) {

$url = 'destination .jpg';

$filename = compress_image($_FILES["file"]["tmp_name"], $url, 80);
$buffer = file_get_contents($url);

/* Force download dialog... */
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");

/* Don't allow caching... */
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

/* Set data type, size and filename */
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Length: " . strlen($buffer));
header("Content-Disposition: attachment; filename=$url");

/* Send our file... */
echo $buffer;
}else {
$error = "Uploaded image should be jpg or gif or png";
}
}
?>
<html>
<head>
<title>Php code compress the image</title>
</head>
<body>

<div class="message">
<?php
if($_POST){
if ($error) {
?>
<label class="error"><?php echo $error; ?></label>
<?php
}
}
?>
</div>
<fieldset class="well">
<legend>Upload Image:</legend>
<form action="" name="myform" id="myform" method="post" enctype="multipart/form-data">
<ul>
<li>
<label>Upload:</label>
<input type="file" name="file" id="file"/>
</li>
<li>
<input type="submit" name="submit" id="submit" class="submit btn-success"/>
</li>
</ul>
</form>
</fieldset>
</body>
</html>

关于php - 上传时如何将图像尺寸或质量减小到特定尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34194793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com