当前位置:首页>python>一起学Python第122天:Pillow 入门实战——一条流水线串起图像处理全流程

一起学Python第122天:Pillow 入门实战——一条流水线串起图像处理全流程

  • 2026-08-19 06:42:37
一起学Python第122天:Pillow 入门实战——一条流水线串起图像处理全流程

📅 系列:一起学Python | 难度:⭐⭐ | 预计阅读:8分钟

🔗 上期回顾:第121天:Pillow 隐藏技能

一、为什么需要"一条流水线"?

前面四天,我们把 Pillow 拆成了碎片学习:打开、裁剪、缩放、滤镜、增强、水印……但真正工作中,这些操作是串在一起的

比如老板给你一个任务:"把这张产品图裁成正方形、缩成800×800、调亮一点、加个Logo水印、保存为PNG。"

如果你只会单个操作,就要写一堆零散代码。今天这期,我们把 Pillow 的核心基础操作串成一条流水线——从打开到成品,一气呵成。

二、前置准备:网络图片加载 + 字体配置

from PIL import Image, ImageDraw, ImageFont, ImageFilter, ImageEnhancefrom io import BytesIOimport requestsimport os# ================= 1. 字体加载(解决报错的核心) =================font_path = "simhei.ttf"  # 确保当前目录有 simhei.ttfif not os.path.exists(font_path):    font_path = "/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc"  # 备用系统字体# Pillow 使用 ImageFont.truetype 加载font = ImageFont.truetype(font_path, size=24)# 通用加载函数:从网络URL读取图片def load_image(url):    resp = requests.get(url, timeout=15)    return Image.open(BytesIO(resp.content)).convert('RGB')

三、第一步:打开图片,读懂它的"身份证"

url = "https://picsum.photos/600/600"img = load_image(url)print(f"格式: {img.format}")   # JPEG / PNG / GIFprint(f"尺寸: {img.size}")     # (宽, 高)print(f"模式: {img.mode}")     # RGB / RGBA / L(灰度)
Image 对象三大属性速查:
属性
含义
常见值
format
文件格式
'JPEG'、'PNG''GIF'
size
像素尺寸
(800, 600)→ 宽800,高600
mode
颜色模式
RGB
(彩色)、RGBA(带透明)、L(灰度)
💡 为什么先 convert('RGB')?网络图片可能是 RGBA 或 P 模式,统一转 RGB 避免后续处理报错。

四、第二步:格式转换——给图片"换身份"

# 转灰度gray = img.convert('L')gray.show()# 转回 RGB(灰度图转彩色,但仍是黑白)rgb_back = gray.convert('RGB')rgb_back.show()# 保存为不同格式img.save("output.png")                    # 自动识别格式img.save("output.jpg", quality=95)        # JPEG 控制质量img.save("output.webp", quality=85)       # WebP 更小体积
🔥 WebP 优势:相同质量下,体积比 JPEG 小 25-35%,现代浏览器全支持。

五、第三步:裁剪与旋转——重新构图

裁剪:取局部精华

# crop((左, 上, 右, 下))cropped = img.crop((150150450450))cropped.show()

旋转:调整角度

# 旋转45度,expand=True 扩展画布防止裁剪rotated = img.rotate(45, expand=True)rotated.show()
💡 坐标记忆法crop((left, upper, right, bottom)),先左上角,后右下角。

六、第四步:缩放——resize vs thumbnail 怎么选?

# 方法1:resize —— 强制指定尺寸(可能变形)resized = img.resize((300300))  # 原图600x600 → 强行拉成300x300# 方法2:thumbnail —— 保持比例,原地修改thumb = img.copy()thumb.thumbnail((300300))  # 按比例缩放,长边不超过300
方法
特点
适用场景
resize((w,h))
强制变形,精确控制
需要固定像素尺寸
thumbnail((w,h))
保持比例,原地修改
生成缩略图,不拉伸

七、第五步:滤镜与增强——一键"美颜"

滤镜(ImageFilter)

from PIL import ImageFilterblur = img.filter(ImageFilter.GaussianBlur(radius=5))edge = img.filter(ImageFilter.FIND_EDGES)emboss = img.filter(ImageFilter.EMBOSS)sharpen = img.filter(ImageFilter.SHARPEN)

增强(ImageEnhance)

from PIL import ImageEnhancebright = ImageEnhance.Brightness(img).enhance(1.5)   # 亮度 x1.5contrast = ImageEnhance.Contrast(img).enhance(2.0)   # 对比度 x2.0color = ImageEnhance.Color(img).enhance(2.0)         # 饱和度 x2.0sharp = ImageEnhance.Sharpness(img).enhance(2.5)     # 锐度 x2.5
💡 enhance(factor) 参数1.0 = 原图,<1 = 减弱,>1 = 增强。建议范围 0.5 ~ 2.5

八、第六步:绘图与文字——给图片"签名"

# 创建画笔draw = ImageDraw.Draw(img)# 绘制形状draw.rectangle([5050200200], outline="red", width=5)draw.line([00300300], fill="blue", width=3)draw.ellipse([250250450450], outline="green", width=4)# 添加文字(必须加载中文字体!)font = ImageFont.truetype(font_path, size=40)draw.text((5050), "Hello Pillow", fill="red", font=font)draw.text((50500), "第122天", fill="yellow", font=font)

九、综合实战:一条流水线搞定"裁-缩-调-印-存"

把以上所有步骤串起来,写一个完整的图像处理函数

from PIL import Image, ImageDraw, ImageFont, ImageEnhancefrom io import BytesIOimport requestsimport os# ================= 1. 字体加载(解决报错的核心) =================font_path = "simhei.ttf"if not os.path.exists(font_path):    font_path = "/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc"font = ImageFont.truetype(font_path, size=20)def process_pipeline(url, output_path):    """    图像处理流水线:    下载 → 裁剪 → 缩放 → 调亮 → 加水印 → 保存    """    # Step 1: 下载    resp = requests.get(url, timeout=15)    img = Image.open(BytesIO(resp.content)).convert('RGB')    print(f"原图: {img.size}")    # Step 2: 居中裁剪为正方形    w, h = img.size    size = min(w, h)    left = (w - size) // 2    top = (h - size) // 2    img = img.crop((left, top, left + size, top + size))    print(f"裁剪后: {img.size}")    # Step 3: 缩放到 800x800    img = img.resize((800800), Image.LANCZOS)    # Step 4: 调亮 20%    enhancer = ImageEnhance.Brightness(img)    img = enhancer.enhance(1.2)    # Step 5: 加水印    draw = ImageDraw.Draw(img)    text = "一起学Python"    bbox = draw.textbbox((00), text, font=font)    text_w = bbox[2] - bbox[0]    text_h = bbox[3] - bbox[1]    x = img.width - text_w - 20    y = img.height - text_h - 20    draw.rectangle([x-10, y-5, x+text_w+10, y+text_h+5], fill=(000128))    draw.text((x, y), text, fill="white", font=font)    # Step 6: 保存    img.save(output_path, quality=95)    print(f"✅ 已保存: {output_path}")    # 显示结果    img.show()# 使用process_pipeline("https://picsum.photos/1000/800""final_output.jpg")

十、批量处理:从"一张"到"一百张"

import globdef batch_process(url_list, output_dir="output"):    os.makedirs(output_dir, exist_ok=True)    for i, url in enumerate(url_list):        try:            process_pipeline(url, f"{output_dir}/img_{i+1}.jpg")        except Exception as e:            print(f"处理失败 {url}{e}")# 批量处理urls = [f"https://picsum.photos/800/600?random={i}" for i in range(5)]batch_process(urls)

十一、避坑指南

十二、参数速查卡

from PIL import Image, ImageDraw, ImageFont, ImageFilter, ImageEnhance# 打开网络图片import requestsfrom io import BytesIOimg = Image.open(BytesIO(requests.get(url).content)).convert('RGB')# 信息print(img.format, img.size, img.mode)# 转换img.convert('L')      # 灰度img.convert('RGB')    # 彩色# 裁剪与旋转img.crop((l, u, r, b))img.rotate(angle, expand=True)# 缩放img.resize((w, h))           # 强制尺寸img.thumbnail((max_w, max_h)) # 保持比例# 滤镜img.filter(ImageFilter.GaussianBlur(radius=5))img.filter(ImageFilter.FIND_EDGES)# 增强ImageEnhance.Brightness(img).enhance(1.5)ImageEnhance.Contrast(img).enhance(2.0)# 绘图draw = ImageDraw.Draw(img)draw.text((x, y), "文字", fill="red", font=font)draw.rectangle([x1, y1, x2, y2], outline="blue", width=3)# 保存img.save("output.jpg", quality=95)

十三、总结

今天我们把 Pillow 的基础操作串成了一条完整的流水线:

  • ✅ 打开 —— Image.open() + convert('RGB')

  • ✅ 读取信息 —— formatsizemode

  • ✅ 格式转换 —— convert() + save()

  • ✅ 裁剪 —— crop((left, upper, right, bottom))

  • ✅ 旋转 —— rotate(angle, expand=True)

  • ✅ 缩放 —— resize() vs thumbnail()

  • ✅ 滤镜 —— ImageFilter 系列

  • ✅ 增强 —— ImageEnhance 系列

  • ✅ 绘图 —— ImageDraw + ImageFont

  • ✅ 流水线 —— 裁 → 缩 → 调 → 印 → 存

关键记忆:Pillow 的日常工作流 = 打开 → 裁剪构图 → 缩放尺寸 → 调色滤镜 → 加水印 → 保存交付。

🎯 今日金句Pillow 的每个函数都是一颗珠子,单独看平平无奇,但当你把它们串成一条流水线——打开、裁剪、调色、水印、保存——那就是一条能交付价值的项链。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-08-21 14:35:18 HTTP/2.0 GET : https://f.mffb.com.cn/a/509574.html
  2. 运行时间 : 0.227724s [ 吞吐率:4.39req/s ] 内存消耗:4,395.80kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1be625fcb4aeaab4cb14bc10888827c9
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001139s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001720s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000755s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000673s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001470s ]
  6. SELECT * FROM `set` [ RunTime:0.000596s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001589s ]
  8. SELECT * FROM `article` WHERE `id` = 509574 LIMIT 1 [ RunTime:0.004592s ]
  9. UPDATE `article` SET `lasttime` = 1787294118 WHERE `id` = 509574 [ RunTime:0.018968s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000646s ]
  11. SELECT * FROM `article` WHERE `id` < 509574 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001206s ]
  12. SELECT * FROM `article` WHERE `id` > 509574 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001037s ]
  13. SELECT * FROM `article` WHERE `id` < 509574 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002178s ]
  14. SELECT * FROM `article` WHERE `id` < 509574 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.043536s ]
  15. SELECT * FROM `article` WHERE `id` < 509574 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.004234s ]
0.231426s