乐于分享
好东西不私藏

GPR仿真补充2:通过excel模板来做gprmax仿真模型

GPR仿真补充2:通过excel模板来做gprmax仿真模型
既然可以代码生成,能否通过excel模板来做仿真,这样方便大家做模型即可,不用考虑命令。
当然可以!

适用于 MATLAB 读取 Excel 配置、自动生成 gprMax 输入文件、预览模型与批量参数扫描

项目

说明

文档用途

说明 Excel 模板、MATLAB   读取代码、cfg 数据结构、.in 生成逻辑与后续扩展方法

适用对象

gprMax 入门仿真、GPR 钢筋/空洞/脱空/含水区模型构建、批量仿真数据集生成

核心思想

用 Excel 管理模型参数,用   MATLAB 转换为 gprMax 命令,降低手写 .in 文件的工作量

建议版本

MATLAB R2020a 及以上;Excel   .xlsx;gprMax v3.x

1. 设计目标与总体思路

本工具的目标是将 gprMax 输入文件的手写过程转变为“Excel 配置—MATLAB 解析—自动生成 .in 文件”的流程。用户主要在 Excel 中填写模型尺寸、材料参数、几何目标、天线与扫描参数,MATLAB 负责读取配置、检查参数、估算仿真次数、输出 gprMax 输入文件和模型预览图。

该设计保留底层代码的可扩展性,同时降低日常仿真建模的使用门槛。对于单根钢筋、圆形空洞、水平脱空、矩形含水区等常见二维 GPR 模型,用户无需逐行书写 #box#cylinder#material 等命令,只需要在表格中启用相应对象并填写坐标。

图1从 Excel 配置到 gprMax 仿真的推荐工作流

2. 总体架构

系统可分为五个层次:Excel 配置层、读取解析层、计算校验层、输出生成层和 gprMax 运行层。Excel 配置层面向用户,读取解析层将 Excel 中的 key/value 表和对象表转换为 MATLAB 结构体 cfg,计算校验层负责仿真次数估算和关键参数检查,输出生成层负责写入 .in 文件和绘制模型预览图,最终由 gprMax 运行仿真。

图2Excel 配置生成 gprMax .in 文件的代码架构

3. 文件组成与模块职责

文件名

类型

主要职责

gprmax_excel_config_template.xlsx

Excel 模板

集中配置模型尺寸、材料库、几何对象、天线扫描和批量案例

demo_build_from_excel.m

示例脚本

给出单模型生成流程,调用主入口函数并打印结果

gprmax_build_from_excel.m

主入口

读取 Excel、估算 nrun、导出   .in、生成预览图、打印运行命令

gprmax_read_excel_config.m

读取解析

读取 Global、Materials、Objects、AntennaScan,形成   cfg 结构体

gprmax_estimate_nrun_cfg.m

计算函数

根据模型长度、天线初始位置、扫描步距和安全边距自动估算仿真次数

gprmax_write_in_from_cfg.m

写入函数

将 cfg 转换为 gprMax   命令并写入 UTF-8 编码的 .in 文件

gprmax_preview_cfg.m

预览函数

根据 cfg 绘制 x-z 剖面模型图,用于检查目标位置和材料分布

gprmax_build_batch_from_excel.m

批量函数

读取 BatchCases 工作表,批量生成单根钢筋等模板模型

4. Excel 模板设计

Excel 模板采用“配置表 + 对象表 + 批量表”的方式组织。Global 和 AntennaScan 使用 key/value 形式,适合管理全局参数;Materials 和 Objects 使用结构化表格,适合逐行启用、禁用、添加材料和目标;BatchCases 用于批量生成参数化样本。

4.1 Global 工作表

Global 用于配置模型基本尺寸、网格尺寸、时间窗、背景材料、安全边距和 geometry 输出开关。该表的 key 将被读取为 cfg.domain、cfg.grid、cfg.time_window_ns、cfg.background_material 等字段。

key

含义

对应 gprMax 命令或   cfg 字段

title

模型标题

cfg.global.title,同时作为输出文件名基础

Lx, Ly, Lz

模型 x/y/z 尺寸

#domain: Lx Ly   Lz

dx, dy, dz

网格尺寸

#dx_dy_dz: dx dy   dz

time_window_ns

仿真时间窗,单位 ns

#time_window:   time_window_ns × 1e-9

background_material

背景材料名称

#box: 0 0 0 Lx   Ly Lz background_material

margin

右侧安全边距

用于 nrun 自动估算

output_geometry

是否输出   geometry.vti

控制是否写入   #geometry_view

geometry_name

geometry 输出文件名前缀

#geometry_view 的   filename base

4.2 Materials 工作表

Materials 是材料库,enabled=1 的材料会写入 .in 文件。gprMax 内置材料如 pec 和 free_space 不需要重新定义;用户在 Objects 表中引用材料时,材料名称应与 Materials 表中 name 一致,或使用 gprMax 内置材料。

列名

说明

示例

enabled

是否启用,1 为写入 .in

1

name

材料名称,后续 Objects 按名称引用

concrete / air /   water_like

eps_r

相对介电常数

7

sigma

电导率 S/m

0.01

mu_r

相对磁导率,通常取 1

1

sigma_star

磁损耗项,通常取 0

0

note

说明信息,不写入 .in

混凝土背景

4.3 Objects 工作表

Objects 是几何目标表,是最常用的配置区域。每一行代表一个几何对象,enabled=1 的对象会被写入 .in 文件。对象通过 type 字段区分钢筋、圆形空洞、水平脱空、矩形区域和通用圆柱。priority 用于控制写入顺序,通常背景先写入,病害和目标后写入,以保证后写入对象覆盖先写入对象。

列名

说明

适用对象

enabled

是否启用

全部

id

对象编号,便于调试

全部

type

对象类型:rebar、void_circle、delamination、box、cylinder_y

全部

x1,z1

目标中心或矩形左上角坐标

全部

x2,z2

矩形目标另一角或脱空终点

box、delamination

radius

圆形目标半径

rebar、void_circle、cylinder_y

thickness

脱空厚度

delamination

material

目标材料名称

全部

priority

写入顺序,数值越小越先写

全部

note

说明信息

全部

图3Objects 表到 gprMax 几何命令的映射关系

4.4 AntennaScan 工作表

AntennaScan 用于配置激励源、接收器、扫描步距和输出分量。对于二维 TMy 模型,当 Ly=dy 即 y 方向只有一个网格时,Hertzian dipole 的极化方向建议设置为 y,输出分量优先查看 Ey。

key

含义

对应 gprMax 命令

waveform_type

波形类型,目前主要使用   ricker

#waveform:   ricker ...

amplitude

波形幅值系数

#waveform 第二个参数

freq_GHz

中心频率,单位 GHz

写入时转换为 Hz

waveform_name

波形名称

供   #hertzian_dipole 引用

polarisation

源极化方向,二维 TMy 建议   y

#hertzian_dipole   第一个参数

src_x, rx_x

源和接收器初始 x 坐标

#hertzian_dipole   / #rx

antenna_z

源和接收器 z 坐标

#hertzian_dipole   / #rx

src_step_x,   rx_step_x

源和接收器每次移动步距

#src_steps /   #rx_steps

output_component

绘制 B-scan 的输出分量

plot_Bscan 参数

nrun_override

手动覆盖仿真次数

若有效则优先使用

4.5 BatchCases 工作表

BatchCases 用于批量参数扫描。当前批量接口先支持 single_rebar 模板,可通过 rebar_x、rebar_depth、rebar_diameter、freq_GHz、eps_r、sigma 等字段批量生成不同埋深、直径、频率和介质参数的钢筋模型。后续可扩展 void、delamination、water_damage 等模板。

5. cfg 数据结构设计

MATLAB 读取 Excel 后统一转换为 cfg 结构体。cfg 是后续所有函数之间的数据接口,避免各函数直接读取 Excel,便于后续接入 App Designer 或其他配置来源。

cfg.global.title

cfg.domain.Lx / Ly / Lz

cfg.grid.dx / dy / dz

cfg.time_window_ns

cfg.background_material

cfg.margin

cfg.output_geometry

cfg.geometry_name

cfg.materials(i).name / eps_r / sigma / mu_r / sigma_star

cfg.objects(i).type / x1 / z1 / x2 / z2 / radius / thickness / material / priority

cfg.antenna.waveform_type / freq_GHz / polarisation / src_x / rx_x / antenna_z

cfg.antenna.src_step_x / rx_step_x / output_component / nrun_override

cfg.run.nrun

6. MATLAB 主流程说明

6.1 单模型生成入口 gprmax_build_from_excel

单模型生成入口负责串联读取、计算、写入和预览。该函数是日常使用的主要接口,用户只需要传入 Excel 文件路径和输出目录即可。

result = gprmax_build_from_excel(configFile, outDir);

% 内部流程:

% 1. cfg = gprmax_read_excel_config(configFile);

% 2. nrun = gprmax_estimate_nrun_cfg(cfg);

% 3. gprmax_write_in_from_cfg(cfg, inFile);

% 4. gprmax_preview_cfg(cfg, previewPng);

% 5. 打印 gprMax 运行、合并与绘图命令。

6.2 Excel 读取函数 gprmax_read_excel_config

该函数将 Excel 中不同工作表转换为统一 cfg 结构体。Global 与 AntennaScan 使用 key/value 读取方式;Materials、Objects 使用 readtable 读取。读取后进行基本校验,包括模型尺寸、网格尺寸、时间窗和扫描步距等。

• key/value 表适合存放全局单值参数,例如 Lx、dx、freq_GHz。

• 结构表适合存放可变数量的材料和目标,例如 Materials 和 Objects。

• 读取后统一转换为 cfg,后续写入 .in、预览、批量生成均不再依赖 Excel。

6.3 仿真次数估算函数 gprmax_estimate_nrun_cfg

仿真次数 nrun 本质上是 B-scan 道数。源和接收器每运行一次分别按照 #src_steps 和 #rx_steps 移动。为了避免天线移动到右侧边界或 PML 区域,需要保留安全边距 margin。

第 n 次仿真时,源和接收器位置分别为:xs(n)=xs0+(n-1)·ds,xr(n)=xr0+(n-1)·dr。应满足 xs(n)≤Lx−margin,xr(n)≤Lx−margin。因此可分别计算源和接收器允许的最大次数,再取二者较小值。

ns = floor((Lx - margin - xs0) / src_step_x) + 1;

nr = floor((Lx - margin - xr0) / rx_step_x) + 1;

nrun = min(ns, nr);

% 若 Excel 中 nrun_override 填写了正数,则优先使用 nrun_override。

6.4 .in 写入函数 gprmax_write_in_from_cfg

该函数是核心输出模块,负责将 cfg 中的模型参数写入 gprMax 输入命令。文件以 UTF-8 编码写入,避免中文注释导致 UnicodeDecodeError。写入顺序为:文件头、基本模型设置、材料定义、背景区域、几何对象、天线、扫描步距和 geometry 输出。

写入阶段

gprMax 命令

说明

基本模型

#title / #domain   / #dx_dy_dz / #time_window

定义模型名称、尺寸、网格和时间窗

材料

#material

写入 Materials 中   enabled=1 的材料,pec 等内置材料跳过

背景

#box

用   background_material 填充整个计算域

钢筋/圆柱

#cylinder

沿 y 方向贯穿模型厚度,适合二维剖面模型

空洞

#cylinder 或 #box

圆形空洞用 cylinder,矩形空洞用   box

脱空

#box

用薄矩形区域表示层间空鼓或脱空

天线

#waveform /   #hertzian_dipole / #rx

写入源、接收器和波形

扫描

#src_steps /   #rx_steps

控制 B-scan 多道采集

几何预览

#geometry_view

调试时打开,正式批量仿真建议关闭

6.5 模型预览函数 gprmax_preview_cfg

预览函数用于在正式运行 gprMax 前检查模型几何是否合理,包括模型范围、目标位置、钢筋深度、空洞和脱空范围、源和接收器位置。预览图不参与 gprMax 仿真,但对调试非常重要。后续建议将 gprmax_preview_cfg 与 gprmax_preview_model 的绘图风格统一,采用语义颜色图例:钢筋黑色、空洞浅蓝、脱空橙红、含水区蓝色、混凝土浅灰。

7. Excel 表到 .in 命令的转换规则

Excel 配置

MATLAB cfg 字段

gprMax 命令示例

Global: Lx=4,   Ly=0.002, Lz=1.2

cfg.domain.Lx/Ly/Lz

#domain: 4 0.002   1.2

Global:   dx=0.004, dy=0.002, dz=0.004

cfg.grid.dx/dy/dz

#dx_dy_dz: 0.004   0.002 0.004

Materials:   concrete, 7, 0.01

cfg.materials

#material: 7   0.01 1 0 concrete

Objects: rebar,   x1=2, z1=0.35, radius=0.015, material=pec

cfg.objects

#cylinder: 2 0   0.35 2 Ly 0.35 0.015 pec

Objects:   delamination, x1=1.2, x2=2.6, z1=0.3, thickness=0.02

cfg.objects

#box: 1.2 0 0.3   2.6 Ly 0.32 air

AntennaScan:   freq_GHz=1.6

cfg.antenna.freq_GHz

#waveform:   ricker 1 1.6e9 src

AntennaScan:   polarisation=y, src_x=0.3, antenna_z=0.05

cfg.antenna

#hertzian_dipole:   y 0.3 Ly/2 0.05 src

AntennaScan:   rx_x=0.36, antenna_z=0.05

cfg.antenna

#rx: 0.36 Ly/2   0.05

AntennaScan:   src_step_x=0.02, rx_step_x=0.02

cfg.antenna

#src_steps: 0.02   0 0 / #rx_steps: 0.02 0 0

8. 推荐使用流程

单模型调试时,建议先启用 output_geometry=1,仅运行 1 道,检查 geometry.vti 和预览图;确认模型几何正确后,再将 output_geometry 设为 0 并运行 -n 多道仿真。这样可以避免生成大量重复的 geometry*.vti 文件。

% MATLAB 中生成 .in

result = gprmax_build_from_excel('gprmax_excel_config_template.xlsx');

% Anaconda Prompt 中运行仿真

cd "生成的 .in 文件所在目录"

python -m gprMax "single_rebar_from_excel.in" -n 178

python -m tools.outputfiles_merge single_rebar_from_excel

python -m tools.plot_Bscan single_rebar_from_excel_merged.out Ey

9. 常见问题与调试建议

问题

原因

建议

No module named   gprMax

当前 conda 环境未安装   gprMax 或使用了错误环境

检查 where python;切换到已安装   gprMax 的环境,或在源码根目录 pip install -e .

polarisation   must be y in 2D TMy mode

Ly=dy 时模型为二维 TMy,但源极化写成   z

AntennaScan 中   polarisation 设为 y

UnicodeDecodeError

手写 .in 文件不是   UTF-8,或中文注释编码错误

MATLAB fopen 使用   UTF-8;普通注释使用 ##

生成大量   geometry*.vti

多道仿真时   output_geometry=1

正式批量仿真前将 output_geometry   设为 0

材料未生效

Objects 中   material 名称与 Materials 不一致

检查拼写;pec 是内置材料可直接使用

B-scan 看不到目标

目标过深、时间窗过短、频率或网格不合适

增加   time_window_ns;检查目标 z 坐标;查看 geometry 预览图

数值色散警告

网格相对高频波长偏粗

减小 dx/dz 或降低中心频率,入门调试可先接受小警告

10. 后续扩展设计

10.1 新增对象类型

若需要新增斜裂缝、不规则空洞、钢筋网或多层结构,应按三步扩展:第一,在 Objects 表中新增 type 约定和必要字段;第二,在 gprmax_write_in_from_cfg 中增加对应 case 分支;第三,在 gprmax_preview_cfg 或统一预览函数中增加绘图逻辑。

switch type

case 'new_object_type'

% 1. 读取 x1,z1,x2,z2 或其他字段

% 2. 写入 gprMax 对应命令

% 3. 在预览函数中定义颜色和图形表达

end

10.2 新增批量模板

BatchCases 当前支持 single_rebar。后续可增加 void_circle、delamination、rebar_void、multi_rebar 等模板。扩展时建议保持 BatchCases 的 template 字段作为模板类型标识,每种模板在 gprmax_build_batch_from_excel 中单独生成 cfg.objects。

10.3 集成到 MATLAB App Designer

当前 Excel 模板本质上已经定义了 App 的数据模型。后续做 App Designer 时,可以将 Global、Materials、Objects、AntennaScan 分别做成参数面板和表格控件。用户在 App 中修改表格后,仍然调用 gprmax_write_in_from_cfg 写入 .in 文件。这样既能保留 Excel 批量配置能力,也能逐步升级为图形化建模工具。

App 模块

对应 Excel/代码

说明

模型参数面板

Global

配置尺寸、网格、时间窗、背景材料

材料库表格

Materials

添加、删除、启用材料

几何对象表格

Objects

添加钢筋、空洞、脱空、含水区等目标

天线扫描面板

AntennaScan

设置频率、源/接收器位置和扫描步距

模型预览窗口

gprmax_preview_cfg   / gprmax_preview_model

显示 x-z 模型图和语义图例

导出按钮

gprmax_write_in_from_cfg

生成 .in 文件

运行按钮

gprMax 命令调用

可后续集成 system() 调用   Anaconda 环境

11. 维护建议

建议将 Excel 模板、读取函数、写入函数、预览函数和批量函数作为一个独立工具包维护。每次新增对象类型或修改字段时,应同步更新 Excel 模板、读取函数、写入函数、预览函数和本设计说明书,避免表格字段和代码分支不一致。

• 对外使用入口尽量保持简单,例如 result = gprmax_build_from_excel(configFile)。

• 底层函数保持单一职责:读取只负责读取,写入只负责生成 .in,预览只负责绘图。

• 每个对象类型应有明确的字段要求和 gprMax 命令映射。

• 批量仿真时建议关闭 geometry 输出,避免产生大量重复 .vti 文件。

附录: csdn 搜 jaz 资源库下载

gprmax_excel_config_matlab_tools/

├── gprmax_excel_config_template.xlsx

├── demo_build_from_excel.m

├── gprmax_build_from_excel.m

├── gprmax_read_excel_config.m

├── gprmax_estimate_nrun_cfg.m

├── gprmax_write_in_from_cfg.m

├── gprmax_preview_cfg.m

├── gprmax_build_batch_from_excel.m

└── README.md

excel设置即可:

.rtcContent { padding: 30px; } .lineNode {font-size10pt; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-style: normal; font-weight: normal; }%% demo_build_from_excel% 通过 Excel 配置文件生成 gprMax .in 文件。% 建议流程:%   1. 修改 gprmax_excel_config_template.xlsx 中的 Global / Materials / Objects / AntennaScan%   2. 运行本脚本%   3. 检查生成的 .in 文件和预览图%   4. 在 Anaconda Prompt 中运行打印出的 gprMax 命令clc;clear;close all;%% 1. Excel 配置文件路径configFile = 'gprmax_excel_config_template.xlsx';% 如果模板不在当前目录,可写完整路径,例如:% configFile = 'D:\Work\GPR\gprMax-master\gprMax-master\Work\gprmax_excel_config_template.xlsx';workDir = 'D:\Work\GPR\gprMax-master\gprMax-master\Work';if ~exist(workDir, 'dir')    workDir = pwd;end%% 2. 输出目录outDir = fullfile(pwd'generated_in');%% 3. 生成 .in 文件、预览图,并打印运行命令result = gprmax_build_from_excel(configFile, outDir);fprintf('\n生成完成。\n');fprintf('IN 文件:%s\n', result.inFile);fprintf('预览图:%s\n', result.previewPng);fprintf('推荐仿真次数 nrun = %d\n', result.nrun);
基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-09 12:31:09 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/844526.html
  2. 运行时间 : 0.116087s [ 吞吐率:8.61req/s ] 内存消耗:4,777.18kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=1c8a28e59163c0a1689d0644c241913a
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000557s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000791s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000307s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000295s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000476s ]
  6. SELECT * FROM `set` [ RunTime:0.000201s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000591s ]
  8. SELECT * FROM `article` WHERE `id` = 844526 LIMIT 1 [ RunTime:0.000523s ]
  9. UPDATE `article` SET `lasttime` = 1783571469 WHERE `id` = 844526 [ RunTime:0.013832s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000293s ]
  11. SELECT * FROM `article` WHERE `id` < 844526 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000500s ]
  12. SELECT * FROM `article` WHERE `id` > 844526 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000831s ]
  13. SELECT * FROM `article` WHERE `id` < 844526 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.002608s ]
  14. SELECT * FROM `article` WHERE `id` < 844526 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000927s ]
  15. SELECT * FROM `article` WHERE `id` < 844526 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000685s ]
0.119682s