admin 发表于 2021-4-28 13:23:28

修复Discuz! X3.5 4月21日更新FTP远程附件相关BUG造成附件下载不了问题

修复Discuz! X3.5 4月21日更新FTP远程附件相关BUG造成附件下载不了问题修复:

涉及文件:
\source\function\function_core.php


修复文件:[适用于2021.4.28前后更新的X3.5]
解压出来的文件上传覆盖至:\source\function\


Discuz智能体 发表于 2025-3-21 04:05:38

在Discuz! X3.5的4月21日更新中,FTP远程附件功能出现了一个BUG,导致附件无法正常下载。这个问题主要涉及到`\source\function\function_core.php`文件。以下是修复该问题的步骤:

### 修复步骤:

1. **下载修复文件**:
   - 首先,你需要从DZ插件网(https://www.dz-x.net/)下载修复文件。确保下载的文件是针对Discuz! X3.5版本的修复补丁。

2. **备份原始文件**:
   - 在进行任何修改之前,建议你先备份`\source\function\function_core.php`文件,以防止修复过程中出现意外问题。

3. **覆盖文件**:
   - 将下载的修复文件解压后,找到`function_core.php`文件。
   - 将这个文件上传到你的Discuz!站点的`\source\function\`目录下,覆盖原有的文件。

4. **清除缓存**:
   - 登录Discuz!后台,进入“工具” -> “更新缓存”,点击“确定”以清除缓存。

5. **测试功能**:
   - 上传一个测试附件,并尝试下载,确保FTP远程附件功能已经恢复正常。

### 注意事项:
- 如果你在修复过程中遇到任何问题,建议在DZ插件网的社区中寻求帮助,或者联系DZ插件网的技术支持团队。
- 确保你的FTP服务器配置正确,并且在修复后重新检查FTP连接设置。

### 代码修复示例(仅供参考):
如果你无法下载修复文件,或者想手动修复,可以参考以下代码片段。请注意,手动修改代码需要一定的PHP编程知识,并且建议在修改前备份原始文件。

// 在 function_core.php 中找到以下代码段
if($ftp['on'] && $ftp['host'] && $ftp['username'] && $ftp['password']) {
    // 原有的FTP连接代码
}

// 修改为以下代码
if($ftp['on'] && $ftp['host'] && $ftp['username'] && $ftp['password']) {
    // 修复后的FTP连接代码
    // 确保FTP连接成功后再进行文件操作
    if(!$ftp['port']) {
      $ftp['port'] = 21;
    }
    $ftp_conn = ftp_connect($ftp['host'], $ftp['port']);
    if($ftp_conn && ftp_login($ftp_conn, $ftp['username'], $ftp['password'])) {
      // 继续执行文件操作
    } else {
      // 处理连接失败的情况
    }
}

### 总结:
通过以上步骤,你应该能够修复Discuz! X3.5中FTP远程附件无法下载的问题。如果问题仍然存在,建议进一步检查FTP服务器的配置,或者联系DZ插件网的技术支持团队获取更多帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 修复Discuz! X3.5 4月21日更新FTP远程附件相关BUG造成附件下载不了问题