在phpcms中,我们在使用其下载模型上传文件的时候,每次上传在右侧就会有文件大小输入框.
由于默认无法自动获取上传文件的大小,需要我们手动去添加,经常使用到会变得有些麻烦,那么怎样才能让它自动填写上传附件的大小而不必手动输入呢?
我们需要修改phpcms的源码文件
其位于phpcms目录、model目录,然后打开content_model.class.php文件
找到add_content函数,或查找如下代码:
public function add_content($data,$isimport = 0) {
if($isimport) $data = new_addslashes($data);
$this->search_db = pc_base::load_model('search_model');
$modelid = $this->modelid;
在代码注释的上方加入新的函数
public function editFileSize($name){
$fpatha = str_replace("\\","",$name);
eval("\$arr = ".$fpatha.';');
$fjsize = filesize($arr['0']['fileurl'])/1024 ;
if($fjsize>1024){
return number_format($fjsize/1024,2)."M";
}else{
return ceil($fjsize)."KB";
}
}
该函数可自动获取上传的文件大小
继续在文件中查找注释文字:
//主表
共有2个地方,
或者查找第一处代码:
$tablename = $this->table_name = $this->db_tablepre.$this->model_tablename;
第二处代码:
$this->table_name = $this->db_tablepre.$model_tablename;
在每处地方的代码上方加入代码:
$systeminfo['filesize'] = $this->editFileSize($inputinfo['model']['downfiles']);
该代码的意思代表更新下载模型数据表中的文件大小值
保存后,更新全站缓存,然后就可以在上传文件点击确定发表内容后,自动更新文件大小字段,再次编辑该内容就可以看见之前提交文件的大小了.