get_List($tmpfilename); $dedefileindex = -1; //为了节省资源,系统仅以.xml作为扩展名识别ZIP包里了dede模块格式文件 if (is_array($files)) { for ($i = 0; $i < count($files); $i++) { if (preg_match("#\.xml#i", $files[$i]['filename'])) { $dedefile = $files[$i]['filename']; $dedefileindex = $i; break; } } } if ($dedefileindex == -1) { unlink($tmpfilename); ShowMsg("对不起,你上传的压缩包中不存在dede模块文件!

>>返回重新上传>>", "javascript:;"); exit(); } $ziptmp = $mdir . '/ziptmp'; $z->Extract($tmpfilename, $ziptmp, $dedefileindex); unlink($tmpfilename); $tmpfilename = $mdir . "/ziptmp/" . $dedefile; } $dm = new DedeModule($mdir); $infos = $dm->GetModuleInfo($tmpfilename, 'file'); if (empty($infos['hash'])) { unlink($tmpfilename); $dm->Clear(); ShowMsg("对不起,你上传的文件可能不是织梦模块的标准格式文件!

>>返回重新上传>>", "javascript:;"); exit(); } if (preg_match("#[^0-9a-zA-Z]#", $infos['hash'])) { exit("hash check failed!"); } $okfile = $mdir . '/' . $infos['hash'] . '.xml'; if ($dm->HasModule($infos['hash']) && empty($delhas)) { unlink($tmpfilename); $dm->Clear(); ShowMsg("对不起,你上传的模块已经存在,
如果要覆盖请先删除原来版本或选择强制删除的选项!

>>返回重新上传>>", "javascript:;"); exit(); } @unlink($okfile); copy($tmpfilename, $okfile); @unlink($tmpfilename); $dm->Clear(); ShowMsg("成功上传一个新的模块!", "module_main.php?action=view&hash={$infos['hash']}"); exit(); } } else { $win = new OxWindow(); $win->Init("module_upload.php", "js/blank.js", "POST' enctype='multipart/form-data"); $win->mainTitle = "模块管理"; $wecome_info = "模块管理 >> 上传模块"; $win->AddTitle('请选择要上传的文件:'); $win->AddHidden("action", 'upload'); $msg = "
文件格式:
已有模块:
请选择文件:
"; $win->AddMsgItem("
$msg
"); $winform = $win->GetWindow('ok', ''); $win->Display(); exit(); } //ClearAllLink();