引言

图片读取

<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
if (!$image) {
    die('无法读取图片');
}
?>

图片显示

<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
?>

图片编辑

<?php
$image = imagecreatefromjpeg('path/to/image.jpg');
$width = imagesx($image);
$height = imagesy($image);
$gray_image = imagecreatetruecolor($width, $height);
imagefill($gray_image, 0, 0, imagecolorallocate($gray_image, 128, 128, 128));
for ($x = 0; $x < $width; $x++) {
    for ($y = 0; $y < $height; $y++) {
        $rgb = imagecolorsforindex($image, imagecolorat($image, $x, $y));
        $gray = (int)($rgb['red'] * 0.3 + $rgb['green'] * 0.59 + $rgb['blue'] * 0.11);
        imagesetpixel($gray_image, $x, $y, imagecolorallocate($gray_image, $gray, $gray, $gray));
    }
}
header('Content-Type: image/jpeg');
imagejpeg($gray_image);
imagedestroy($gray_image);
imagedestroy($image);
?>

这里,首先创建了一个灰度图像资源。然后,通过遍历原始图像的每个像素,计算其灰度值,并将灰度值设置到新图像的相应位置。最后,输出灰度图像。

图片上传

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $file = $_FILES['file'];
    $upload_path = 'uploads/' . basename($file['name']);
    if (move_uploaded_file($file['tmp_name'], $upload_path)) {
        echo '文件上传成功';
    } else {
        echo '文件上传失败';
    }
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" value="上传" />
</form>

这里,首先检查是否为POST请求。然后,获取上传的文件信息,并将其移动到指定的上传目录。如果移动成功,输出“文件上传成功”;否则,输出“文件上传失败”。

总结