当前位置:首页>python>《别再傻傻手动给Word加水印了!用Python批量搞定图片/文字水印,省力省心事半功倍,从此告别加班》

《别再傻傻手动给Word加水印了!用Python批量搞定图片/文字水印,省力省心事半功倍,从此告别加班》

  • 2026-07-02 16:50:44
《别再傻傻手动给Word加水印了!用Python批量搞定图片/文字水印,省力省心事半功倍,从此告别加班》

“带你横跨办公自动化的数据江海”

@摸鱼

前言

关于摸鱼

ABOUT MOYU

闻道有先后,术业有专攻。

各位大佬朋友们好!

~我依旧是你们的老朋友摸鱼~

在职场摸爬滚打的这十多年里,我用Python悄悄干了不少“正事”——不知不觉攒下了一整套办公自动化的实用项目技巧。去年10月初创立了公众号 「码海听潮」 ,初衷很简单:把重复的劳动交给代码,把摸鱼的时间留给生活。

目前已经吭哧吭哧更新了100多篇原创文章,每一篇都是实操干货,不讲虚的,只聊怎么用代码真正解放双手,帮大家早点下班、准点摸鱼

好了,多了不说,少了不唠,今天给大佬们分享一款本人原创的批量设置word文档水印的小工具,这款工具相比手动逐个添加水印,效率提升数十倍,特别适合需要批量处理大量Word文档的场景!

《办公工具成品展示:》

《该办公工具核心功能亮点:》

01

 亮点1:批量处理能力 ⭐

        • 支持递归遍历文件夹,自动识别所有 .doc 和 .docx 文件

        • 一键批量添加水印,无需逐个文档手动操作

        • 实时进度显示,支持中途取消操作

        • 处理完成后提供详细的成功/失败统计

        02

         亮点2:双水印类型支持 🎨

            • 图片水印:支持 PNG、JPG、JPEG、BMP 格式

            • 文字水印:自定义文字内容,支持多种字体、颜色、透明度

            • 可同时启用两种水印,或单独使用其中一种

            03

            亮点3:灵活的水印样式设置 ⚙️

            • 缩放控制:自动、100%、200%、50%、自定义百分比

            • 冲蚀效果:一键实现半透明水印效果

            • 版式选择:水平(0°)或倾斜(315°)

            • 位置精确控制:水平/垂直对齐方式(居中、左/右对齐、顶/底对齐)

            • 偏移量微调:支持厘米级精确定位(-20cm 到 +20cm)

            • 透明度调节:文字水印 0-100% 透明度可调

            《该办公工具代码展示:》

            下面,我就用python代码让各位大佬见识一下,什么叫"传统文化"遇上"赛博效率"

            import sysfrom PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, QHBoxLayout,							 QGroupBoxQCheckBoxQPushButtonQLabelQLineEdit,							 QComboBoxQSpinBoxQDoubleSpinBoxQFileDialog,							 QFrameQSplitterQSizePolicy)from PyQt6.QtCore import Qtfrom PyQt6.QtGui import QFontclass WatermarkApp(QMainWindow):	def __init__(self):super().__init__()self.setWindowTitle("Word文档水印批量设置工具(欢迎关注微信公众号:码海听潮)")self.setMinimumSize(900700)self.current_image_path = ""  # 存储当前选择的图片路径self.current_folder_path = ""  # 存储当前选择的文件夹路径self.init_ui()	def init_ui(self):		main_widget = QWidget()self.setCentralWidget(main_widget)		main_layout = QHBoxLayout(main_widget)		main_layout.setContentsMargins(10101010)		main_layout.setSpacing(20)================= 左侧:水印设置区域 =================		left_widget = QWidget()		left_layout = QVBoxLayout(left_widget)		left_layout.setSpacing(15)----- 批量处理文件夹分组 -----		folder_group = QGroupBox("批量处理设置")		folder_layout = QVBoxLayout(folder_group)		folder_layout.setSpacing(8)		# 选择文件夹		folder_select_layout = QHBoxLayout()self.btn_select_folder = QPushButton("选择文件夹")self.btn_select_folder.setFixedWidth(80)self.btn_select_folder.clicked.connect(self.select_folder)self.folder_path_edit = QLineEdit()self.folder_path_edit.setReadOnly(True)self.folder_path_edit.setPlaceholderText("未选择文件夹")self.folder_path_edit.setStyleSheet("color: gray;")		folder_select_layout.addWidget(self.btn_select_folder)		folder_select_layout.addWidget(self.folder_path_edit, 1)		folder_layout.addLayout(folder_select_layout)		left_layout.addWidget(folder_group)----- 水印设置主分组(带边框) -----		watermark_group = QGroupBox("水印设置")		watermark_layout = QVBoxLayout(watermark_group)		watermark_layout.setSpacing(8)1. 图片水印分组(带边框)self.pic_watermark_group = QGroupBox("图片水印")		pic_watermark_layout = QVBoxLayout(self.pic_watermark_group)		pic_watermark_layout.setSpacing(8)		# 图片水印复选框self.pic_watermark_check = QCheckBox("启用图片水印")self.pic_watermark_check.toggled.connect(self.on_pic_watermark_toggled)		pic_watermark_layout.addWidget(self.pic_watermark_check)		# 图片水印选项(默认启用)self.pic_options_widget = QWidget()		pic_options_layout = QVBoxLayout(self.pic_options_widget)		pic_options_layout.setSpacing(8)		pic_options_layout.setContentsMargins(20505)		# 选择图片		pic_select_layout = QHBoxLayout()self.btn_select_pic = QPushButton("选择图片")self.btn_select_pic.setFixedWidth(80)self.btn_select_pic.clicked.connect(self.select_picture)self.pic_path_edit = QLineEdit()self.pic_path_edit.setReadOnly(True)self.pic_path_edit.setPlaceholderText("未选择图片")self.pic_path_edit.setStyleSheet("color: gray;")		pic_select_layout.addWidget(self.btn_select_pic)		pic_select_layout.addWidget(self.pic_path_edit, 1)		pic_options_layout.addLayout(pic_select_layout)		# 缩放与冲蚀		scale_chongshi_layout = QHBoxLayout()		scale_label = QLabel("缩放")		scale_label.setFixedWidth(60)		scale_chongshi_layout.addWidget(scale_label)self.scale_combo = QComboBox()self.scale_combo.addItems(["自动""100%""200%""50%""自定义"])		scale_chongshi_layout.addWidget(self.scale_combo, 1)self.scale_spin = QDoubleSpinBox()self.scale_spin.setRange(10500)self.scale_spin.setSuffix("%")self.scale_spin.setVisible(False)		scale_chongshi_layout.addWidget(self.scale_spin)self.chongshi_check = QCheckBox("冲蚀")		scale_chongshi_layout.addWidget(self.chongshi_check)		pic_options_layout.addLayout(scale_chongshi_layout)		# 版式(只有水平和倾斜两个选项)		pic_layout_row = QHBoxLayout()		pic_layout_label = QLabel("版式")		pic_layout_label.setFixedWidth(60)		pic_layout_row.addWidget(pic_layout_label)self.pic_layout_combo = QComboBox()self.pic_layout_combo.addItems(["水平""倾斜"])		pic_layout_row.addWidget(self.pic_layout_combo, 1)		pic_options_layout.addLayout(pic_layout_row)		# 水平对齐		pic_h_layout = QHBoxLayout()		pic_h_label = QLabel("水平对齐")		pic_h_label.setFixedWidth(60)		pic_h_layout.addWidget(pic_h_label)self.pic_h_align = QComboBox()self.pic_h_align.addItems(["居中""左对齐""右对齐"])		pic_h_layout.addWidget(self.pic_h_align, 1)self.pic_h_offset = QDoubleSpinBox()self.pic_h_offset.setRange(-2020)self.pic_h_offset.setSuffix(" cm")self.pic_h_offset.setValue(0.00)self.pic_h_offset.setFixedWidth(80)		pic_h_layout.addWidget(self.pic_h_offset)		pic_options_layout.addLayout(pic_h_layout)		# 垂直对齐		pic_v_layout = QHBoxLayout()		pic_v_label = QLabel("垂直对齐")		pic_v_label.setFixedWidth(60)		pic_v_layout.addWidget(pic_v_label)self.pic_v_align = QComboBox()self.pic_v_align.addItems(["居中""顶端对齐""底端对齐"])		pic_v_layout.addWidget(self.pic_v_align, 1)self.pic_v_offset = QDoubleSpinBox()self.pic_v_offset.setRange(-2020)self.pic_v_offset.setSuffix(" cm")self.pic_v_offset.setValue(0.00)self.pic_v_offset.setFixedWidth(80)		pic_v_layout.addWidget(self.pic_v_offset)		pic_options_layout.addLayout(pic_v_layout)		pic_watermark_layout.addWidget(self.pic_options_widget)		watermark_layout.addWidget(self.pic_watermark_group)2. 文字水印分组(带边框)self.text_watermark_group = QGroupBox("文字水印")		text_watermark_layout = QVBoxLayout(self.text_watermark_group)		text_watermark_layout.setSpacing(8)		# 文字水印复选框self.text_watermark_check = QCheckBox("启用文字水印")self.text_watermark_check.toggled.connect(self.on_text_watermark_toggled)		text_watermark_layout.addWidget(self.text_watermark_check)		# 文字水印选项self.text_options_widget = QWidget()		text_options_layout = QVBoxLayout(self.text_options_widget)		text_options_layout.setSpacing(8)		text_options_layout.setContentsMargins(20505)		# 内容		content_layout = QHBoxLayout()		content_label = QLabel("内容")		content_label.setFixedWidth(60)		content_layout.addWidget(content_label)self.text_content = QLineEdit("严禁复制")		content_layout.addWidget(self.text_content, 1)		text_options_layout.addLayout(content_layout)		# 字体		font_layout = QHBoxLayout()		font_label = QLabel("字体")		font_label.setFixedWidth(60)		font_layout.addWidget(font_label)self.text_font = QComboBox()self.text_font.addItems(["微软雅黑""宋体""黑体""楷体""Arial"])		font_layout.addWidget(self.text_font, 1)		text_options_layout.addLayout(font_layout)		# 字号		size_layout = QHBoxLayout()		size_label = QLabel("字号")		size_label.setFixedWidth(60)		size_layout.addWidget(size_label)self.text_size = QSpinBox()self.text_size.setRange(8200)self.text_size.setValue(60)		size_layout.addWidget(self.text_size, 1)		text_options_layout.addLayout(size_layout)		# 颜色		color_layout = QHBoxLayout()		color_label = QLabel("颜色")		color_label.setFixedWidth(60)		color_layout.addWidget(color_label)self.text_color = QComboBox()self.text_color.addItems(["灰色""自动""红色""蓝色""绿色""黑色"])		color_layout.addWidget(self.text_color, 1)		text_options_layout.addLayout(color_layout)		# 版式(只有水平和倾斜两个选项)		text_layout_row = QHBoxLayout()		text_layout_label = QLabel("版式")		text_layout_label.setFixedWidth(60)		text_layout_row.addWidget(text_layout_label)self.text_layout_combo = QComboBox()self.text_layout_combo.addItems(["水平""倾斜"])		text_layout_row.addWidget(self.text_layout_combo, 1)		text_options_layout.addLayout(text_layout_row)		# 水平对齐		text_h_layout = QHBoxLayout()		text_h_label = QLabel("水平对齐")		text_h_label.setFixedWidth(60)		text_h_layout.addWidget(text_h_label)self.text_h_align = QComboBox()self.text_h_align.addItems(["居中""左对齐""右对齐"])		text_h_layout.addWidget(self.text_h_align, 1)self.text_h_offset = QDoubleSpinBox()self.text_h_offset.setRange(-2020)self.text_h_offset.setSuffix(" cm")self.text_h_offset.setValue(0.00)self.text_h_offset.setFixedWidth(80)		text_h_layout.addWidget(self.text_h_offset)		text_options_layout.addLayout(text_h_layout)		# 垂直对齐		text_v_layout = QHBoxLayout()		text_v_label = QLabel("垂直对齐")		text_v_label.setFixedWidth(60)		text_v_layout.addWidget(text_v_label)self.text_v_align = QComboBox()self.text_v_align.addItems(["居中""顶端对齐""底端对齐"])		text_v_layout.addWidget(self.text_v_align, 1)self.text_v_offset = QDoubleSpinBox()self.text_v_offset.setRange(-2020)self.text_v_offset.setSuffix(" cm")self.text_v_offset.setValue(0.00)self.text_v_offset.setFixedWidth(80)		text_v_layout.addWidget(self.text_v_offset)		text_options_layout.addLayout(text_v_layout)		# 透明度		opacity_layout = QHBoxLayout()		opacity_label = QLabel("透明度")		opacity_label.setFixedWidth(60)		opacity_layout.addWidget(opacity_label)self.text_opacity = QSpinBox()self.text_opacity.setRange(0100)self.text_opacity.setValue(50)self.text_opacity.setSuffix("%")		opacity_layout.addWidget(self.text_opacity, 1)		text_options_layout.addLayout(opacity_layout)		text_watermark_layout.addWidget(self.text_options_widget)		watermark_layout.addWidget(self.text_watermark_group)		left_layout.addWidget(watermark_group)----- 确定/取消按钮(居中排布) -----		btn_layout = QHBoxLayout()		btn_layout.addStretch()self.btn_ok = QPushButton("确定")self.btn_cancel = QPushButton("取消")self.btn_ok.clicked.connect(self.apply_watermark)self.btn_cancel.clicked.connect(self.close)		btn_layout.addWidget(self.btn_ok)		btn_layout.addWidget(self.btn_cancel)		btn_layout.addStretch()		left_layout.addLayout(btn_layout)================= 右侧:预览区域 =================		right_widget = QWidget()		right_widget.setMinimumWidth(350)		right_layout = QVBoxLayout(right_widget)		preview_group = QGroupBox("预览与选项")		preview_inner_layout = QVBoxLayout()		# 预览图片/文字区域self.preview_label = QLabel()self.preview_label.setMinimumHeight(400)self.preview_label.setStyleSheet("border: 1px solid #aaa; background-color: #f5f5f5;")self.preview_label.setAlignment(Qt.AlignmentFlag.AlignCenter)self.preview_label.setText("预览区域")		preview_inner_layout.addWidget(self.preview_label)		# 应用于整篇文档		apply_layout = QHBoxLayout()self.apply_to_all = QCheckBox("应用于整篇文档")self.apply_to_all.setChecked(True)		apply_layout.addWidget(self.apply_to_all)		apply_layout.addStretch()		preview_inner_layout.addLayout(apply_layout)		preview_group.setLayout(preview_inner_layout)		right_layout.addWidget(preview_group)		# 使用分割器让左右可调整		splitter = QSplitter(Qt.Orientation.Horizontal)		splitter.addWidget(left_widget)		splitter.addWidget(right_widget)		splitter.setSizes([500400])		main_layout.addWidget(splitter)		# 初始状态self.pic_watermark_check.setChecked(True)self.text_watermark_check.setChecked(False)		# 连接信号self.scale_combo.currentIndexChanged.connect(self.on_scale_mode_changed)	def select_folder(self):"""选择文件夹"""		folder_path = QFileDialog.getExistingDirectory(self"选择文件夹""")if folder_path:self.current_folder_path = folder_pathself.folder_path_edit.setText(folder_path)self.folder_path_edit.setStyleSheet("color: black;")	def on_pic_watermark_toggled(self, checked):"""图片水印复选框状态改变时"""self.pic_options_widget.setEnabled(checked)	def on_text_watermark_toggled(self, checked):"""文字水印复选框状态改变时"""self.text_options_widget.setEnabled(checked)	def on_scale_mode_changed(self, idx):if self.scale_combo.currentText() == "自定义":self.scale_spin.setVisible(True)else:self.scale_spin.setVisible(False)	def select_picture(self):		file_path, _ = QFileDialog.getOpenFileName(self"选择图片""""图片文件 (*.png *.jpg *.jpeg *.bmp)")if file_path:self.current_image_path = file_pathself.pic_path_edit.setText(file_path)self.pic_path_edit.setStyleSheet("color: black;")	def apply_watermark(self)		passdef main():	app = QApplication(sys.argv)	window = WatermarkApp()	window.show()	sys.exit(app.exec())if __name__ == "__main__":	main()

            通过上面Python自动化脚本,仅用几秒钟的时间就完成原需手动操作数小时甚至数天的工作任务。从最初准备手动人工机械操作的麻木到用python实现高效自动化的畅快,工作效率获得指数级提升,终于实现了不加班熬夜的自由!

            大佬们也可以举一反三,参照上面的代码思路根据自己工作中的实际情况来具体问题具体分析,实现自己定制化的需求。

            《该办公工具的演示视频:》

            《该办公工具的应用场景:》

            结语

            当Python遇见办公,牛马打工人终于笑出了猪叫声

            【职场人必看】每天早上一睁眼,想到又要面对:

            1.📊 堆积如山的Excel表格

            2.📑 机械重复的复制粘贴

            3.✍️ 永远改不完的各类文档

            4.诸如此类的更多........

            是不是连Ctrl+Alt+Delete的心都有了?

            别慌!别急,摸鱼这位“职场外挂”已经带着Python代码来拯救你了!

            感谢各位大佬观看,还望各位大佬抬抬贵手一键三连,多多关注点赞转发评论,大佬们的支持才是摸鱼孜孜不倦更新原创干货的动力!有需要的大佬私信摸鱼君获取!

            最新文章

            随机文章

            基本 文件 流程 错误 SQL 调试
            1. 请求信息 : 2026-07-03 06:43:05 HTTP/2.0 GET : https://f.mffb.com.cn/a/494804.html
            2. 运行时间 : 0.397753s [ 吞吐率:2.51req/s ] 内存消耗:4,716.34kb 文件加载:140
            3. 缓存信息 : 0 reads,0 writes
            4. 会话信息 : SESSION_ID=772154d2485b0ce172f5d8283785ebf2
            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.000622s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
            2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000846s ]
            3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.006921s ]
            4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.017201s ]
            5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000909s ]
            6. SELECT * FROM `set` [ RunTime:0.015423s ]
            7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000781s ]
            8. SELECT * FROM `article` WHERE `id` = 494804 LIMIT 1 [ RunTime:0.025222s ]
            9. UPDATE `article` SET `lasttime` = 1783032185 WHERE `id` = 494804 [ RunTime:0.058149s ]
            10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.003041s ]
            11. SELECT * FROM `article` WHERE `id` < 494804 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.009095s ]
            12. SELECT * FROM `article` WHERE `id` > 494804 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.003873s ]
            13. SELECT * FROM `article` WHERE `id` < 494804 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.071978s ]
            14. SELECT * FROM `article` WHERE `id` < 494804 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.070928s ]
            15. SELECT * FROM `article` WHERE `id` < 494804 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.038292s ]
            0.399480s