色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php jcrop 上傳

林玟書1年前7瀏覽0評論
很多網站都需要實現圖片上傳和裁剪的功能,而 PHP 提供了一種簡單易用的解決方案 —— Jcrop。Jcrop 是一款基于 jQuery 的圖片裁剪插件,它可以讓用戶通過界面操作來選擇需要裁剪的部分,并返回所選擇部分的坐標,服務器端可以通過此坐標進行圖片的裁剪,適用于圖片上傳、頭像上傳等應用場景。下面將介紹如何使用 PHP Jcrop 實現圖片上傳和裁剪。 圖片上傳與裁剪 - 前端頁面 首先,我們需要在前端實現圖片上傳和裁剪的功能。下面提供一個簡單的 HTML 頁面,可以通過這個頁面上傳所需圖片:
<html>
<head>
<meta charset="utf-8" />
<title>圖片上傳與裁剪</title>
<link  rel="stylesheet" />
<link  rel="stylesheet" />
</head>
<body>
<div class="container">
<form action="process.php" method="post" enctype="multipart/form-data">
<input type="file" name="img" />
<button type="submit" class="btn btn-primary">上傳圖片</button>
</form>
<div id="cropbox"></div>
<button id="cropBtn" type="button" class="btn btn-success">裁剪圖片</button>
</div>
<script src="http://cdn.bootcss.com/jquery/1.11.1/jquery.min.js"></script>
<script src="http://cdn.bootcss.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<script src="http://unpkg.com/jcrop@0.9.15/js/jquery.Jcrop.min.js"></script>
<script>
$(function() {
$('#cropbox').Jcrop({
aspectRatio: 1,
setSelect: [ 0, 0, 200, 200 ],
onSelect: function(c) {
$('#cropx').val(c.x);
$('#cropy').val(c.y);
$('#cropw').val(c.w);
$('#croph').val(c.h);
}
});
$('#cropBtn').click(function() {
var cropx = $('#cropx').val();
var cropy = $('#cropy').val();
var cropw = $('#cropw').val();
var croph = $('#croph').val();
var data = {
'cropx': cropx,
'cropy': cropy,
'cropw': cropw,
'croph': croph
};
$.ajax({
type: 'POST',
url: 'crop.php',
data: data,
dataType: 'json',
success: function(response) {
alert('裁剪成功!');
}
});
});
});
</script>
</body>
</html>
這個頁面包含一個上傳圖片的表單和用來裁剪圖片的區域。使用 Jcrop 插件來實現裁剪功能,同時選中區域發生改變時,將選中區域的坐標信息存儲在隱藏域中。 圖片上傳與裁剪 - 服務器端處理 接下來,我們需要在服務器端實現圖片的裁剪功能。為此,我們可以使用 PHP GD 庫。PHP GD 庫提供了一系列用于圖像處理的函數,包括縮放、裁剪、加水印等等。在本例中,我們只需要用到其 imagecreatefromjpeg()、imagecopyresampled() 和 imagejpeg() 函數。 下面是處理過程:
<?php
if ($_FILES['img']['error'] >0) {
die('上傳錯誤!');
} else {
$filename = 'uploads/' . $_FILES['img']['name'];
move_uploaded_file($_FILES['img']['tmp_name'], $filename);
$cropx = $_POST['cropx'];
$cropy = $_POST['cropy'];
$cropw = $_POST['cropw'];
$croph = $_POST['croph'];
$src = imagecreatefromjpeg($filename);
$dst = imagecreatetruecolor($cropw, $croph);
imagecopyresampled($dst, $src, 0, 0, $cropx, $cropy, $cropw, $croph, $cropw, $croph);
$newname = 'uploads/' . time() . '.jpg';
imagejpeg($dst, $newname);
$result = array('newname' =>$newname);
echo json_encode($result);
}
?>
該代碼通過判斷上傳圖片的錯誤碼,提示上傳狀態。同時,可以根據已有代碼獲取到上傳的圖片,然后根據裁剪區域的 x、y、w、h 值,實現圖片裁剪,最后返回新文件名。 最后我們可以返回裁剪后的新圖片路徑,并在前端頁面進行顯示即可。 總結 在本文中,我們介紹了 PHP Jcrop 的使用,它為我們的圖片上傳和裁剪提供了有效而方便的方式。通過前端和后端的相互協作,它可以在許多網站中使用。如果你想實現一個更高級和復雜的圖片上傳和裁剪功能,建議你在最初的 ThinkPHP、Yii、Phalcon 等框架中使用圖片上傳和處理擴展,并實現自己的圖片裁剪插件。