帮助首页 > 网站更新修复说明 · 实施总结与开发清单 > 图片上传路径统一管理实施总结

图片上传路径统一管理实施总结

图片上传路径统一管理实施总结

一、实施完成情况

✅ 已完成的工作

  1. 创建统一配置函数

- ✅ 在 Banyan/Common/common.php 中添加了 get_upload_path() 函数

- ✅ 在 Banyan/Common/common.php 中添加了 get_upload_url() 函数

- ✅ 修改了 config_img() 函数,使用后台配置

- ✅ 修改了 config_weixin_img() 函数,使用后台配置

  1. 移除硬编码

- ✅ 修改了 index.php,注释掉硬编码的 IMGG_PATH

- ✅ 移除了所有 CommonAction 中的 define('IMG_PATH', ...) 定义

  1. 修改上传相关文件

- ✅ Banyan/Lib/Action/App/UploadAction.class.php - 所有上传方法已修改

- ✅ Banyan/Lib/Action/Backstage/PublicAction.class.php - 已修改

- ✅ Banyan/Lib/Action/Distributors/PublicAction.class.php - 已修改

- ✅ Banyan/Lib/Action/Wap/PublicAction.class.php - 已修改

- ✅ Banyan/Lib/Action/Substation/PublicAction.class.php - 已修改

  1. 修改CommonAction文件

- ✅ Banyan/Lib/Action/Wap/CommonAction.class.php - 已移除 define('IMG_PATH', ...)

- ✅ Banyan/Lib/Action/User/CommonAction.class.php - 已移除 define('IMG_PATH', ...)

- ✅ Banyan/Lib/Action/App/CommonAction.class.php - 已移除 define('IMG_PATH', ...)

二、核心函数说明

2.1 get_upload_path()

功能:获取图片上传物理路径

返回值:字符串,如 E:\wwwroot\zh\shiping

数据源:从数据库 by_setting 表的 imgtureurl 字段读取

兼容性:如果数据库未配置,使用已定义的 IMGG_PATH 或默认路径

2.2 get_upload_url()

功能:获取图片访问URL前缀

返回值:字符串,如 https://shiping.banyanfw.com

数据源:从数据库 by_setting 表的 imgurl 字段读取

兼容性:如果数据库未配置,使用当前请求的域名

三、配置说明

3.1 后台配置位置

localhost/backstage/setting/site.html

3.2 配置字段

  • 图片域名 (imgurl):https://shiping.banyanfw.com
  • 图片实际路径 (imgtureurl):E:\wwwroot\zh\shiping

3.3 路径映射

  • 上传路径E:\wwwroot\zh\shiping\attachs\2026\01\24\xxx.jpg
  • 访问URLhttps://shiping.banyanfw.com/attachs/2026/01/24/xxx.jpg

四、修改文件清单

4.1 核心文件

  1. index.php - 移除硬编码
  2. Banyan/Common/common.php - 添加统一函数,修改 config_img()config_weixin_img()

4.2 上传相关文件

  1. Banyan/Lib/Action/App/UploadAction.class.php - 所有上传方法
  2. Banyan/Lib/Action/Backstage/PublicAction.class.php - uploadify()editor()
  3. Banyan/Lib/Action/Distributors/PublicAction.class.php - upload()
  4. Banyan/Lib/Action/Wap/PublicAction.class.php - upload()
  5. Banyan/Lib/Action/Substation/PublicAction.class.php - uploadify()editor()

4.3 CommonAction文件

  1. Banyan/Lib/Action/Wap/CommonAction.class.php
  2. Banyan/Lib/Action/User/CommonAction.class.php
  3. Banyan/Lib/Action/App/CommonAction.class.php

五、使用方式

5.1 上传文件

$upload_path = get_upload_path();
$dir = $upload_path . '/attachs/' . $name . '/';

5.2 返回URL

$picurl = get_upload_url() . '/attachs/' . $name . '/' . $filename;

5.3 显示图片

$img_url = config_img($img_path);

六、注意事项

  1. 路径格式get_upload_path() 会自动处理 Windows/Linux 路径分隔符
  2. URL格式get_upload_url() 会自动去除末尾斜杠
  3. 兼容性:如果数据库未配置,会使用默认值,确保系统正常运行
  4. 缓存:两个函数都使用了静态变量缓存,避免重复查询数据库

七、测试建议

  1. 测试上传功能

- 测试各种文件上传(图片、视频、文档等)

- 验证文件是否保存到正确路径

- 验证返回的URL是否正确

  1. 测试图片显示

- 测试旧图片是否正常显示

- 测试新上传的图片是否正常显示

- 验证 config_img() 函数是否正常工作

  1. 测试后台配置

- 修改后台配置,验证是否生效

- 测试路径不存在时的处理

- 测试URL格式是否正确

八、后续工作

  1. ✅ 所有 IMGG_PATH 已替换为 get_upload_path()
  2. ✅ 所有 IMG_PATH 已替换为 get_upload_url() 或使用 config_img()
  3. ⚠️ 需要检查是否有其他文件直接使用了硬编码路径(如 E:\wwwroot\zh\shiping

实施日期:2026-01-24

实施状态:✅ 已完成

copyright 2013-2113 www.baoanfuwu.cn All Rights Reserved 保安服务网版权所有
皖ICP备2021016109号-1