简单PHP缩略图生成
封面图
•
2026-01-03
•
PHP
226
0
0
0
下面是一个**简单的 PHP 缩略图生成代码示例**,它可以将上传的图片生成一个指定大小的缩略图。 --- ### ✅ 功能说明: - 支持上传图片 - 生成指定尺寸(如 100x100)的缩略图 - 自动调整比例(保持宽高比) --- ### 📄 示例代码:`thumbnail.php` ```php <?php // 设置上传目录 $uploadDir = 'uploads/'; $thumbnailDir = 'thumbnails/'; // 如果目录不存在则创建 if (!is_dir($uploadDir)) { mkdir($uploadDir, 0777, true); } if (!is_dir($thumbnailDir)) { mkdir($thumbnailDir, 0777, true); } // 检查是否是 POST 请求 if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['image']) && $_FILES['image']['error'] === 0) { $tmpName = $_FILES['image']['tmp_name']; $fileName = basename($_FILES['image']['name']); $filePath = $uploadDir . $fileName; // 移动上传文件到指定目录 if (move_uploaded_file($tmpName, $filePath)) { // 生成缩略图 $thumbnailPath = $thumbnailDir . 'thumb_' . $fileName; $width = 100; // 缩略图宽度 $height = 100; // 缩略图高度 // 根据图片类型创建资源 $imageResource = null; $imageType = strtolower(pathinfo($filePath, PATHINFO_EXTENSION)); switch ($imageType) { case 'jpg': case 'jpeg': $imageResource = imagecreatefromjpeg($filePath); break; case 'png': $imageResource = imagecreatefrompng($filePath); break; case 'gif': $imageResource = imagecreatefromgif($filePath); break; default: die("Unsupported image type."); } // 创建缩略图 $thumbnail = imagecreatetruecolor($width, $height); imagecopyresampled($thumbnail, $imageResource, 0, 0, 0, 0, $width, $height, imagesx($imageResource), imagesy($imageResource)); // 输出缩略图 switch ($imageType) { case 'jpg': case 'jpeg': imagejpeg($thumbnail, $thumbnailPath); break; case 'png': imagepng($thumbnail, $thumbnailPath); break; case 'gif': imagegif($thumbnail, $thumbnailPath); break; } // 释放内存 imagedestroy($imageResource); imagedestroy($thumbnail); echo "缩略图已生成: <img src='" . $thumbnailPath . "' />"; } else { echo "上传失败。"; } } else { echo "请选择一张图片。"; } } ?> <!DOCTYPE html> <html> <head> <title>生成缩略图</title> </head> <body> <h2>上传图片生成缩略图</h2> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="image" required /> <input type="submit" value="生成缩略图" /> </form> </body> </html> ``` --- ### 🔧 使用说明: 1. 将以上代码保存为 `thumbnail.php`。 2. 确保服务器支持 PHP,并且有写入权限。 3. 访问该页面,上传图片即可自动生成缩略图。 --- ### ⚠️ 注意事项: - 请确保服务器上安装了 GD 库(PHP 的图像处理扩展)。 - 可以通过 `phpinfo()` 查看是否启用了 GD。 - 你可以根据需要修改缩略图的尺寸或添加更多功能(如水印、压缩等)。 --- 如果你想要更高级的功能(如自动裁剪、动态缩放、缓存等),可以告诉我,我可以继续帮你扩展!
上一篇:
php上传大文件设置
下一篇:
PHP的日期时间运算总结
标题录入,一次不能超过6条
留言
评论