引言
一、PHP处理图片基础
1.1 PHP与图片格式
1.2 安装GD库
<?php
echo phpversion('gd');
?>
如果没有安装,您需要从PECL(PHP扩展和应用仓库)下载并安装GD库。
1.3 图片上传
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_FILES['image'])) {
$image = $_FILES['image'];
// 检查图片是否上传成功
if ($image['error'] == 0) {
// 处理图片
// ...
}
}
}
?>
二、图片处理
2.1 读取图片
<?php
$image = imagecreatefromjpeg('example.jpg');
?>
2.2 图片处理
<?php
// 裁剪图片
$target = imagecreatetruecolor(100, 100);
imagecopyresampled($target, $image, 0, 0, 50, 50, 100, 100, 200, 200);
// 保存裁剪后的图片
imagejpeg($target, 'cropped.jpg');
?>
2.3 图片保存
<?php
imagejpeg($image, 'processed.jpg');
?>
三、图片存储与优化
3.1 图片存储格式选择
3.2 图片压缩
<?php
imagejpeg($image, 'compressed.jpg', 75); // 75为压缩质量,数值越低,压缩率越高
?>
3.3 图片缓存
四、案例实战
<?php
// 上传图片
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_FILES['image'])) {
$image = $_FILES['image'];
// 检查图片是否上传成功
if ($image['error'] == 0) {
// 读取图片
$image = imagecreatefromjpeg($image['tmp_name']);
// 裁剪图片
$target = imagecreatetruecolor(100, 100);
imagecopyresampled($target, $image, 0, 0, 50, 50, 100, 100, 200, 200);
// 保存裁剪后的图片
imagejpeg($target, 'cropped.jpg');
// 清理内存
imagedestroy($image);
imagedestroy($target);
}
}
}
?>