简介

图片流读取

1. 打开文件目录

$dir = opendir("./images");

2. 读取文件列表

接着,使用 readdir() 函数遍历目录中的所有文件:

while (($file = readdir($dir)) !== false) {
    // 处理文件
}

3. 过滤图片文件

$allowedExtensions = array('jpg', 'jpeg', 'png', 'gif');
if (in_array(pathinfo($file, PATHINFO_EXTENSION), $allowedExtensions)) {
    // 处理图片文件
}

4. 关闭目录

处理完文件后,不要忘记关闭目录:

closedir($dir);

图片流处理

1. 创建图片资源

list($width, $height, $type, $attr) = getimagesize($file);
switch ($type) {
    case IMAGETYPE_JPEG:
        $image = imagecreatefromjpeg($file);
        break;
    case IMAGETYPE_PNG:
        $image = imagecreatefrompng($file);
        break;
    case IMAGETYPE_GIF:
        $image = imagecreatefromgif($file);
        break;
}

2. 图片处理

$newWidth = 200;
$newHeight = 200;

resizeImage($image, $newWidth, $newHeight);

3. 保存图片

imagejpeg($image, 'new_image.jpg');

图片流保存到数据库

// 创建数据库连接
$conn = new mysqli('localhost', 'username', 'password', 'database');

// 准备SQL语句
$sql = "INSERT INTO images (image) VALUES (?)";

// 创建预处理语句
$stmt = $conn->prepare($sql);

// 绑定参数并执行
$stmt->bind_param('b', $imageData);
$stmt->execute();

总结