描述此 Pull Request 的变更

1.ftp远程附件 host 未设置时,不进入上传等流程,避免文件没被上传ftp远程,本地文件却被删除的问题
2.ftp远程附件未启用或者 host 未设置时,老的远程图片附件无法显示下载,报PHP错误的问题

描述变更理由

  1. discuz_ftp 类里同时判断了 ftp on 和 ftp host,但是 ftpcmd 里,默认只判断了 ftp on,导致用户错误启用FTP远程附件,未正确配置host信息时,图片附件会调用 ftpcmd('upload', 'xxx.jpg') 上传,返回 -101(远程附件功能未开启) ,在if下被认为是true,也就是认为FTP上传成功,从而删除本地的图片附件,导致本地远程都没有这个文件,且数据库里记录的文件在远程。

  2. 当数据库里记录的图片附件为远程时,但网站的FTP远程附件实际配置错误,处于关闭状态或者host未设置时,ftpcmd('object') 本应该返回一个对象,却返回了一个数字,导致后续的

 $ftp->ftp_get($tmpfile, 'forum/'.$file, FTP_BINARY)

报错
输入图片说明

对不向前兼容或涉及安全性变更的特殊说明

关联 Issue