打开 system/cp/cp.publish.php 找(只有一处) $UP->set_max_width($query->row['max_width']); $UP->set_max_height($query->row['max_height']); $UP->set_max_filesize($query->row['max_size']); $UP->set_allowed_types(($SESS->userdata['group_id'] == 1) ? 'all' : $query->row['allowed_types']); if ( ! $UP->upload_file()) { return $UP->show_error(); } global $UL; $UL = $UP; if ($UL->file_exists == TRUE) { return $this->file_exists_warning(); } 后面加 $UP->new_name = time().'.'.trim(substr(strrchr($UP->file_name, '.'), 1)); if(rename($UP->upload_path.$UP->file_name, $UP->upload_path.$UP->new_name)) { $UP->file_name = $UP->new_name; } ===================== 说明: 这个改动也可以通过extensions实现 但是官方在这块没提供hook,可以自己加个自定义hook,同样要改这个地方的代码还要数据库多插条记录。。所以就直接改了。。这个改动没什么后遗症,只是帮自动命名一下,不用时直接覆盖回原文件。 $UP->new_name = time() 是按上传时间重命名 精确到秒 只考虑到少数人使用情况 多人可能重名 请加随机数。。 另外:上传表单上还可以加上 自动重命名(可选)的选项 大概可以通过官方的upload_form的hook实现extension 应该不难 需要的自己改把。。