我尝试在ThinkCMF中增加一个上传小说的功能。首次接触ThinkCMF,大体的结构都还不是很清楚,借着此次尝试希望能大体了解一下ThinkCMF。
首先我进入前后台到处翻看查找有没有类似的上传功能运用的地方,后来发现在前台有一个修改用户头像的功能,依照着他的地址’g=User&m=profile&a=avatar‘,在application下的User下的Controller中的ProfileController.class.php中找到了avatar函数,所以得知g对应着分组,m对应着模块,a对应着方法。
接下来我来分析这段代码:
sp_get_current_userid()是用来获取当前登录管理员id的函数;
users_model好像并不是一个函数,而他在avatar方法中也并没有定义过,于是我往上翻,想要找到这个看着像和模型有关的东西,最后发现这是定义了一个全局变量 原来这是User模型的实例化。
new的部分是实例化一个上传类。参数$config是数组,里面配置了相关的信息。这个是指文件的上传方式。sp_is_sae()是判断是否为sae,sae是云计算平台(不懂——)。接下来是根目录以及上传的地址,我在data里面的upload里面找到了avatar这个文件夹。exts是上传类型。大体就是这些,然后我仿照着这两个方法写了上传小说的功能。
首先在数据库里创建了sp_fiction表,
然后跟着ThinkCMF手册中的应用开发流程建立了test项目,并且在upload文件夹中增加了fiction文件夹用来储存我上传的小说。
代码如下:
时间: 2024-10-24 01:30:52