一、准备工作
在开始之前,请确保你的服务器上安装了PHP和GD库。GD库是PHP的一个扩展,用于在服务器端生成和编辑图形。以下是在Linux服务器上安装GD库的命令:
sudo apt-get install php-gd
二、创建基本环境
<?php
// 检查是否有文件被上传
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["image"])) {
// 设置图片上传路径
$upload_dir = "uploads/";
$upload_path = $upload_dir . basename($_FILES["image"]["name"]);
// 检查文件是否上传成功
if (move_uploaded_file($_FILES["image"]["tmp_name"], $upload_path)) {
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
}
?>
三、添加文字到图片
<?php
// 设置图片路径
$image_path = "uploads/image.jpg";
// 加载图片
$image = imagecreatefromjpeg($image_path);
// 设置文字颜色和字体
$font_color = imagecolorallocate($image, 255, 255, 255); // 白色
$font_path = "path/to/font.ttf"; // 字体路径
// 设置文字位置
$x = 50;
$y = 100;
// 添加文字到图片
imagettftext($image, 20, 0, $x, $y, $font_color, $font_path, "Hello, World!");
// 输出图片
header("Content-Type: image/jpeg");
imagejpeg($image);
// 释放内存
imagedestroy($image);
?>
四、整合上传和添加文字功能
现在,我们将上传和添加文字功能整合到一起。以下是一个完整的示例:
<?php
// 检查是否有文件被上传
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["image"])) {
// 设置图片上传路径
$upload_dir = "uploads/";
$upload_path = $upload_dir . basename($_FILES["image"]["name"]);
// 检查文件是否上传成功
if (move_uploaded_file($_FILES["image"]["tmp_name"], $upload_path)) {
echo "文件上传成功!";
// 加载图片
$image = imagecreatefromjpeg($upload_path);
// 设置文字颜色和字体
$font_color = imagecolorallocate($image, 255, 255, 255); // 白色
$font_path = "path/to/font.ttf"; // 字体路径
// 设置文字位置
$x = 50;
$y = 100;
// 添加文字到图片
imagettftext($image, 20, 0, $x, $y, $font_color, $font_path, "Hello, World!");
// 输出图片
header("Content-Type: image/jpeg");
imagejpeg($image);
// 释放内存
imagedestroy($image);
} else {
echo "文件上传失败!";
}
}
?>