php单文件版在线代码编辑器
密码加密方式:
*md5(自设密码+$ace)//$ace为cdn镜像地址
使用方法:
*1.确认$pwd变量值为false,上传本文件到PHP空间并访问
*2.第一次访问提示设置密码,设置密码并牢记
*3.使用第一次设置的密码登录后,默认编辑的是本php文件,
*4.本文件是编辑器核心文件,请不要随意修改
*5.保存编辑的文件请用Ctrl+S按键组合,等待执行结果
*6.保存动作执行后请务必等待保存成功信息返回
*7.重置操作会修改本程序的文件名,以防他人猜测路径
*8.刷新功能仅是刷新本程序文件,不能刷新其他
建议在chrome浏览器中使用本编辑器
<?php session_start(); $curr_file=__FILE__;//默认编辑当前文件 $curr_file_path=str_replace(dirname(__FILE__),'',__FILE__); $pwd="57574d98bc6ebe77b07e59d87065cd9e";//密码初始化默认值为false $ace='ace.js';//编辑器核心js $tip['core']='alertify.core.min.css'; $tip['css']='alertify.default.min.css'; $tip['js']='alertify.min.js'; $jquery='jquery.min.js'; if(false!==$pwd){ define('DEFAULT_PWD',$pwd); } //文件后缀名对应的语法解析器 $lng=array( 'as'=>'actionscript','js'=>'javascript', 'php'=>'php','css'=>'css','html'=>'html', 'htm'=>'html','ini'=>'ini','json'=>'json', 'jsp'=>'jsp','txt'=>'text','sql'=>'mysql', 'xml'=>'xml','yaml'=>'yaml','py'=>'python', 'md'=>'markdown','htaccess'=>'apache_conf', 'bat'=>'batchfile','go'=>'golang', ); //判断用户是否登录 functionis_logged(){ $flag=false; if(isset($_SESSION['pwd'])&&defined('DEFAULT_PWD')){ if($_SESSION['pwd']===DEFAULT_PWD){ $flag=true; } } return$flag; } //重新载入到本页面 functionreload(){ $file=pathinfo(__FILE__,PATHINFO_BASENAME); die(header("Location:{$file}")); } //判断请求是否是ajax请求 functionis_ajax(){ $flag=false; if(isset($_SERVER['HTTP_X_REQUESTED_WITH'])){ $flag=strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])==='xmlhttprequest'; } return$flag; } //销毁SESSION和COOKIE functionexterminate(){ $_SESSION=array(); foreach($_COOKIEas$key){ setcookie($key,null); } session_destroy(); $_COOKIE=array(); returntrue; } //获取一个目录下的文件列表 functionlist_dir($path,$type='array'){ $flag=false; $lst=array('dir'=>array(),'file'=>array()); $base=!is_dir($path)?dirname($path):$path; $tmp=scandir($base); foreach($tmpas$k=>$v){ //过滤掉上级目录,本级目录和程序自身文件名 if(!in_array($v,array('.','..'))){ $file=$full_path=rtrim($base,'/').DIRECTORY_SEPARATOR.$v; if($full_path==__FILE__){ continue;//屏蔽自身文件不在列表出现 } $file=str_replace(dirname(__FILE__),'',$file); $file=str_replace("\\",'/',$file);//过滤win下的路径 $file=str_replace('//','/',$file);//过滤双斜杠 if(is_dir($full_path)){ if('html'===$type){ $v='<liclass="dir"path="'.$file .'"onclick="load();"><span>'.$v.'</span></li>'; } array_push($lst['dir'],$v); }else{ if('html'===$type){ $v='<liclass="file"path="'.$file .'"onclick="load()"><span>'.$v.'</span></li>'; } array_push($lst['file'],$v); } } } $lst=array_merge($lst['dir'],$lst['file']); $lst=array_filter($lst); $flag=$lst; if('html'===$type){ $flag='<ul>'.implode('',$lst).'</ul>'; } return$flag; } //递归删除一个非空目录 functiondeldir($dir){ $dh=opendir($dir); while($file=readdir($dh)){ if($file!='.'&&$file!='..'){ $fullpath=$dir.'/'.$file; if(!is_dir($fullpath)){ unlink($fullpath); }else{ deldir($fullpath); } } } returnrmdir($dir); } //退出登录 if(isset($_GET['logout'])){ if(exterminate()){ reload(); } } //ajax输出文件内容 if(is_logged()&&is_ajax()&&isset($_POST['file'])){ $file=dirname(__FILE__).$_POST['file']; $ext=pathinfo($file,PATHINFO_EXTENSION); $mode=isset($lng[$ext])?$lng[$ext]:false; die(json_encode(array( 'file'=>$file,'html'=>file_get_contents($file), 'mode'=>$mode, ))); } //ajax输出目录列表 if(is_logged()&&is_ajax()&&isset($_POST['dir'])){ $dir=dirname(__FILE__).$_POST['dir']; $list_dir=list_dir($dir,'html'); die(json_encode(array( 'dir'=>$dir,'html'=>$list_dir, ))); } //ajax保存文件 if(is_logged()&&is_ajax()&&isset($_POST['action'])){ $arr=array('result'=>'error','msg'=>'文件保存失败!'); $content=$_POST['content']; if('save_file'===$_POST['action']){ if(isset($_POST['file_path'])){ $file=dirname(__FILE__).$_POST['file_path']; }else{ $file=__FILE__; } file_put_contents($file,$content); $arr['result']='success'; $arr['msg']='保存成功!'; } die(json_encode($arr)); } //ajax删除文件或文件夹 if(is_logged()&&is_ajax()&&isset($_POST['del'])){ $path=dirname(__FILE__).$_POST['del']; $arr=array('result'=>'error','msg'=>'删除操作失败!'); if($_POST['del']&&$path){ $flag=is_dir($path)?deldir($path):unlink($path); if($flag){ $arr['msg']='删除操作成功!'; $arr['result']='success'; } } die(json_encode($arr)); } //ajax新建文件或文件夹 if(is_logged()&&is_ajax()&&isset($_POST['create'])){ $flag=false; $arr=array('result'=>'error','msg'=>'操作失败!'); if(isset($_POST['target'])){ $target=dirname(__FILE__).$_POST['target']; $target=is_dir($target)?$target:dirname($target); } if($_POST['create']&&$target){ $base_name=pathinfo($_POST['create'],PATHINFO_BASENAME); $exp=explode('.',$base_name); $full_path=$target.'/'.$base_name; $new_path=str_replace(dirname(__FILE__),'',$full_path); if(count($exp)>1&&isset($lng[array_pop($exp)])){ file_put_contents($full_path,''); $arr['result']='success'; $arr['msg']='新建文件成功!'; $arr['type']='file'; }else{ mkdir($full_path,0777,true); $arr['result']='success'; $arr['msg']='新建目录成功!'; $arr['type']='dir'; } if($base_name&&$new_path){ $arr['new_name']=$base_name; $arr['new_path']=$new_path; } } die(json_encode($arr)); } //ajax重命名文件或文件夹 if(is_logged()&&is_ajax()&&isset($_POST['rename'])){ $arr=array('result'=>'error','msg'=>'重命名操作失败!'); if(isset($_POST['target'])){ $target=dirname(__FILE__).$_POST['target']; } if($_POST['rename']){ $base_name=pathinfo($_POST['rename'],PATHINFO_BASENAME); if($base_name){ $rename=dirname($target).'/'.$base_name; $new_path=str_replace(dirname(__FILE__),'',$rename); } } if($rename&&$target&&rename($target,$rename)){ $arr['new_name']=$base_name; $arr['new_path']=$new_path; $arr['msg']='重命名操作成功!'; $arr['result']='success'; } if($target==__FILE__){ $arr['redirect']=$new_path; } die(json_encode($arr)); } //获取代码文件内容 $code=file_get_contents($curr_file); $tree='<ulid="dir_tree"> <liclass="dir"path="/"onclick="load()">ROOT'.list_dir($curr_file,'html').'</li> </ul>'; //登陆和设置密码共用模版 $first=<<<HTMLSTR <!DOCTYPEhtml> <html><head><metacharset="UTF-8"> <title>【标题】</title> <metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1"> <styletype="text/css"media="screen"> body{ overflow:hidden;background-color:#2D2D2D;color:#CCCCCC;font-size:12px;margin:0; font-family:'Monaco','Menlo','UbuntuMono','Consolas','source-code-pro',monospace; } form{display:none;position:absolute;} formh5{font-size:14px;font-weight:normal;margin:0;line-height:2em;} forminput{ color:#fff;border:1pxsolid#369;border-radius:3px;background:#333;height:22px; line-height:1.6em;width:125px;margin-right:5px;vertical-align:middle; } formbutton{ line-height:1.6em;border:1pxsolid#369;border-radius:3px; background:#369;color:#fff;vertical-align:middle; } </style> <linkrel="stylesheet"href="{$tip['core']}"/> <linkrel="stylesheet"href="{$tip['css']}"/> </head> <body> <formmethod="post"> <inputname="pwd"type="password"/><buttontype="submit">【动作】</button> </form> <scriptsrc="{$jquery}"type="text/javascript"charset="utf-8"></script> <scriptsrc="{$ace}"type="text/javascript"charset="utf-8"></script> <scriptsrc="{$tip['js']}"type="text/javascript"></script> <scripttype="text/javascript"> vareditor=false; $(function(){ $('form').prepend('<h5>'+document.title+'</h5>'); $('form').css({ left:($(window).width()-$('form').width())/2, top:($(window).height()-$('form').height())/2 }); $('form').show(); }); </script> </body></html> HTMLSTR; //判断是否第一次登录 if(false===$pwd&&empty($_POST)){ die(str_replace( array('【标题】','【动作】'), array('第一次使用,请先设置密码!','设置'), $first )); } //第一次设置登录密码 if(false===$pwd&&!empty($_POST)){ if(isset($_POST['pwd'])&&strlen($_POST['pwd'])){ $pwd=$_SESSION['pwd']=md5($_POST['pwd'].$ace); $code=preg_replace('#\$pwd=false;#','$pwd="'.$pwd.'";',$code,1); file_put_contents($curr_file,$code); }else{ reload(); } } //用户登录验证 if(false!==$pwd&&!empty($_POST)){ $tmp=md5($_POST['pwd'].$ace); if($tmp&&$pwd&&$tmp===$pwd){ $_SESSION['pwd']=$pwd; reload(); } } //处理一下html实体 $code=htmlspecialchars($code); $dir_icon=str_replace(array("\r\n","\r","\n"),'', 'data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAAAGXRFWHRTb2Z0d2 FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNqkkk1uwjAQhd84bsNP1FUXLCtu0H3XPSoX4Qrd9wR sCjQEcIY3DiiJUYiqRhp5Mra/92YSUVVgLSW49B7H+NApRh75XkHfFoCG+02tyflUeQTw2y9UYYP8cCStc9SM PeVA/Sy6Dw555q3au1z+EhBYk1cgO7OSNdaFNT0x5sCkYDha0WPiHZgVqPzLO+8seai6E2jed42bCL06tNyEH AX9kv3jh3HqH7BctFWLMOmAbcg05mHK5+sQpd1HYijN47zcDUCShGEHtzxtwQS9WTcAQmJROrJDLXQB9s1Tu6 MtRED4bwsHLnUzxEeKac3+GeP6eo8yevhjC3F1qC4CDAAl3HwuyNAIdwAAAABJRU5ErkJggg=='); $file_icon=str_replace(array("\r\n","\r","\n"),'', 'data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAGXRFWHRTb2Z0d2 FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAS1JREFUeNqMU01KxkAMTaez7aYbNwreQdBzeopS6EXEW+jug7Z C6X+/iUloSr6xioFHJkPee5mUJgBwT7gjpPB3XAgfiBjs5dOyLF/btl0pkEFngdbzPGNRFK/U+0hwJAAMjmcm DsOA4zge6Pseu67DpmlEqK5rLMvyRkDJor6uq2SGktu2FfdpmpANqqoSASYnO/kthABJkoCOxCASkCBkWSYuQ qCeNE1fqHz3fMkXzjnJ2sRinL33QBNIzWJ5nh/L8npQohVTJwYTyfFm/d6Oo2HGE8ffwseuZ1PEjhrOutmsRF 0iC8QmPibEtT4hftrhHI95JqJT/HC2JOt0to+zN6MVsZ/oZKqwmyCTA33DkbN1sws0i+Pega6v0kd42H9JB/8 LJl5I6PNbgAEAa9MP7QWoNLoAAAAASUVORK5CYII='); $loading=str_replace(array("\r\n","\r","\n"),'', 'data:image/gif;base64,R0lGODlhFAAUALMIAPh2AP+TMsZiALlcAKNOAOp4ANVqAP+PFv///wAAAAAAAA AAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgAIACwAAAAAFAAUAAAEUxDJSau9iBDMteb TMEjehgTBJYqkiaLWOlZvGs8WDO6UIPCHw8TnAwWDEuKPcxQml0Ynj2cwYACAS7VqwWItWyuiUJB4s2AxmWxG g9bl6YQtl0cAACH5BAUKAAgALAEAAQASABIAAAROEMkpx6A4W5upENUmEQT2feFIltMJYivbvhnZ3Z1h4FMQI Dodz+cL7nDEn5CH8DGZhcLtcMBEoxkqlXKVIgAAibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAA ROEMkphaA4W5upMdUmDQP2feFIltMJYivbvhnZ3V1R4BNBIDodz+cL7nDEn5CH8DGZAMAtEMBEoxkqlXKVIg4 HibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkpjaE4W5tpKdUmCQL2feFIltMJYivbvhnZ 3R0A4NMwIDodz+cL7nDEn5CH8DGZh8ONQMBEoxkqlXKVIgIBibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAA QASABIAAAROEMkpS6E4W5spANUmGQb2feFIltMJYivbvhnZ3d1x4JMgIDodz+cL7nDEn5CH8DGZgcBtMMBEox kqlXKVIggEibbK9YLBYvLtHH5K0J0IACH5BAUKAAgALAEAAQASABIAAAROEMkpAaA4W5vpOdUmFQX2feFIltM JYivbvhnZ3V0Q4JNhIDodz+cL7nDEn5CH8DGZBMJNIMBEoxkqlXKVIgYDibbK9YLBYvLtHH5K0J0IACH5BAUK AAgALAEAAQASABIAAAROEMkpz6E4W5tpCNUmAQD2feFIltMJYivbvhnZ3R1B4FNRIDodz+cL7nDEn5CH8DGZg 8HNYMBEoxkqlXKVIgQCibbK9YLBYvLtHH5K0J0IACH5BAkKAAgALAEAAQASABIAAAROEMkpQ6A4W5spIdUmHQ f2feFIltMJYivbvhnZ3d0w4BMAIDodz+cL7nDEn5CH8DGZAsGtUMBEoxkqlXKVIgwGibbK9YLBYvLtHH5K0J0 IADs='); //编辑器模版 $html=<<<HTMLSTR <!DOCTYPEhtml> <html><head><metacharset="UTF-8"> <title>ACE代码编辑器</title> <metahttp-equiv="X-UA-Compatible"content="IE=edge,chrome=1"> <styletype="text/css"media="screen"> a{text-decoration:none;} body{ overflow:hidden;background-color:#2D2D2D;font-size:12px; font-family:'Consolas','Monaco','Menlo','UbuntuMono',monospace; scrollbar-arrow-color:#ccc;scrollbar-base-color:#333; scrollbar-dark-shadow-color:#00ffff;scrollbar-track-color:#272822; scrollbar-highlight-color:#272822;scrollbar-3d-light-color:#272822; scrollbar-face-color:#2D2D2D;scrollbar-shadow-color:#333; } ::-webkit-scrollbar{width:5px;height:6px;background-color:#444;} ::-webkit-scrollbar:hover{background-color:#444;} ::-webkit-scrollbar-thumb:hover{min-height:5px;min-width:5px;background-color:#AAA;} ::-webkit-scrollbar-thumb:active{-webkit-border-radius:20px;background-color:#AAA;} ::-webkit-scrollbar-thumb{ min-height:5px;min-width:5px;-webkit-border-radius:20px; ::-webkit-border-radius:1px;background-color:#AAA; } body>pre{color:#666;} #sider{margin:0;position:absolute;top: 25px;bottom:0;left:0;right:85%;} #editor{margin:0;position:absolute;top:0;bottom:0;left:15%;right:0;} #dir_tree{margin:0;padding:0;height:100%;overflow:auto;position:relative;left:5px;} #dir_tree,#dir_treeul,#dir_treeli{margin:0;padding:0;list-style:noneinside;} #dir_treeul{padding-left:20px;position:relative;} #dir_treeli{text-indent:2em;line-height:1.6em;cursor:default;color:#ccc;} #dir_treeli.hover>span,#dir_treeli:hover>span{color:#66D9EF;} #dir_treeli#on>span{color:red;} #dir_treeli.dir{background:url({$dir_icon})no-repeat3px3px;} #dir_treeli.file{background:url({$file_icon})no-repeat3px0;} #dir_treeli.loading{background:url({$loading})no-repeat3px0;} #logout{position:absolute;top:0;left:0;} #logouta{display:inline-block;color:#aaa;line-height:25px;padding:04px;} #logouta:hover{background:#000;color:#ddd;} #contextmenu{position:absolute;top:0;left:0;background:#fff;color:#333;border:1pxsolid#000;padding:1px;} #contextmenuspan{display:block;line-height:24px;text-indent:20px;width:80px;cursor:default;} #contextmenuspan:hover{background-color:#369;color:#fff;} #alertify.alertify-message,#alertify.alertify-message{ text-align:left!important;text-indent:0;font-weight:bold;font-size:16px; } #alertify.alertify-dialog,#alertify.alertify-dialog{ font-family:'Consolas';padding:10px!important;color:#333!important; } #alertify.alertify-button{ border-radius:3px!important;font-weight:normal!important; font-size:14px!important;padding:3px15px!important; } .alertify-buttons{text-align:right!important;} </style> <linkrel="stylesheet"href="{$tip['core']}"/> <linkrel="stylesheet"href="{$tip['css']}"/> </head><body> <divid="logout"> <ahref="javascript:void(0);">保存</a> <ahref="javascript:void(0);">刷新</a> <ahref="javascript:void(0);">重置</a> <ahref="?logout">退出</a> </div> <divid="sider">{$tree}</div><preid="editor">{$code}</pre> <scriptsrc="{$jquery}"type="text/javascript"charset="utf-8"></script> <scriptsrc="{$ace}"type="text/javascript"charset="utf-8"></script> <scriptsrc="{$tip['js']}"type="text/javascript"></script> <scripttype="text/javascript"> varload=false; varcurr_file=false; window.location.hash=''; alertify.set({delay:1000});//n秒后自动消失 alertify.set({labels:{ok:'确定',cancel:'取消'}}); vareditor=false; $(function(){ //实例化代码编辑器 editor=ace.edit("editor"); //设置编辑器的语法和高亮 editor.setTheme("ace/theme/monokai"); editor.getSession().setMode("ace/mode/php"); //设置编辑器自动换行 editor.getSession().setWrapLimitRange(null,null); editor.getSession().setUseWrapMode(true); //不显示垂直衬线 editor.renderer.setShowPrintMargin(false); //editor.setReadOnly(true);//设置编辑器为只读 //editor.gotoLine(325);//跳转到指定行 //使编辑器获得输入焦点 editor.focus(); //绑定组合按键 varcommands=editor.commands; commands.addCommand({ name:"save", bindKey:{win:"Ctrl-S",mac:"Command-S"}, exec:save_file }); //保存动作 functionsave_file(){ if(false==editor){returnfalse;} varobj={ content:editor.getValue(), action:'save_file' }; if(false!==curr_file){ obj.file_path=curr_file; } alertify.log('正在保存...'); $.post(window.location.href,obj,function(data){ if(data.msg&&'success'==data.result){ alertify.success(data.msg); }else{ alertify.error(data.msg); } },'json'); } //加载目录列表或文件 load=function(ele){ varcurr=$(event.srcElement); if(ele){curr=ele;} if(curr.is('span')){curr=curr.parent('li');} $('#dir_tree#on').removeAttr('id'); curr.attr('id','on'); vartype=curr.attr('class'); varpath=curr.attr('path'); window.location.hash=path; if('file'===type){ alertify.log('正在加载...'); curr.addClass('loading'); $.post(window.location.href,{file:path},function(data){ curr.removeClass('loading'); if(data.mode){ editor.getSession().setMode("ace/mode/"+data.mode); } //注意,空文件应当允许编辑 if(true||data.html){ curr.attr('disabled','disabled'); curr_file=path;//当前编辑的文件路径 //动态赋值编辑器中的内容 editor.session.doc.setValue(data.html); editor.renderer.scrollToRow(0);//滚动到第一行 editor.focus();//编辑器获得焦点 setTimeout(function(){ editor.gotoLine(0); },800); } },'json'); event.stopPropagation(); event.preventDefault(); returnfalse; } if('dir'===type){ if(curr.attr('loaded')){ curr.children('ul').toggle(); event.stopPropagation(); event.preventDefault(); returnfalse; }else{ curr.attr('loaded','yes'); } alertify.log('正在加载...'); curr.addClass('loading'); $.post(window.location.href,{dir:path},function(data){ curr.find('ul').remove(); curr.removeClass('loading'); if(data.html){ curr.append(data.html); } },'json'); } returnfalse; } //绑定右键菜单 $('#sider').bind('contextmenu',function(e){ varpath=false; vartarget=$(event.srcElement); if(target.is('span')){ target=target.parent('li'); } if(target.attr('path')){ path=target.attr('path'); }else{ returnfalse; } target.addClass('hover'); varright_menu=$('#contextmenu'); if(!right_menu.get(0)){ vartimer=false; right_menu=$('<divid="contextmenu"></div>'); right_menu.hover(function(){ if(timer){clearTimeout(timer);} },function(){ timer=setTimeout(function(){ hide_menu(right_menu); },500); }); $('body').append(right_menu); } if(path){ right_menu.html(''); varmenu=$('<span>新建</span><span>浏览</span><span>重命名</span><span>删除</span>'); right_menu.append(menu); menu_area(right_menu,{left:e.pageX,top:e.pageY}); right_menu.find('span').click(function(){ switch($(this).text()){ case'新建':create_new(target,path);break; case'浏览':preview(target,path);break; case'重命名':re_name(target,path);break; case'删除':del_file(target,path);break; } hide_menu(right_menu); }); } path?right_menu.show():hide_menu(right_menu); returnfalse; }); //隐藏右键菜单 functionhide_menu(menu){ $('#siderli.hover').removeClass('hover'); if(menu){ menu.hide(); } } //右键菜单区域 functionmenu_area(menu,cfg){ if(menu&&cfg){ varw=$('#sider').width()-menu.width(); varh=$('#sider').height()-menu.height(); if(cfg.left>w){cfg.left=w;} if(cfg.top>h){cfg.top=h;} menu.css(cfg); } } //保存按钮 $('#logout>a:contains("保存")').click(function(){ save_file(); returnfalse; }); //刷新按钮 $('#logout>a:contains("刷新")').click(function(){ window.location.href=window.location.pathname; returnfalse; }); //重置按钮 $('#logout>a:contains("重置")').click(function(){ alertify.confirm('是否修改{$curr_file_path}程序文件名?',function(e){ if(!e){return'cancel';} re_name($('<a>'),'{$curr_file_path}'); }); returnfalse; }); //新建操作 functioncreate_new(obj,path){ if(!obj||!path){returnfalse;} alertify.prompt('请输入新建文件或文件夹名:',function(e,str){ if(!e||!str){returnfalse;} alertify.log('正在操作中...'); $('#dir_tree#on').removeAttr('loaded').removeAttr('id'); $.post(window.location.href,{create:str,target:path},function(data){ if(data.msg&&'success'==data.result){ alertify.success(data.msg); if(obj.attr('class')=='dir'){ load(obj);//重新加载子节点 }else{ load(obj.parent().parent()); } }else{ alertify.error(data.msg); } },'json'); }); } //浏览操作 functionpreview(obj,path){ if(!obj||!path){returnfalse;} window.open(path,'_blank'); } //重命名 functionre_name(obj,path){ if(!obj||!path){returnfalse;} alertify.prompt('重命名'+path+'为:',function(e,str){ if(!e||!str){returnfalse;} alertify.log('正在操作中...'); $.post(window.location.href,{rename:str,target:path},function(data){ if(data.msg&&'success'==data.result){ alertify.success(data.msg); if(data.redirect){ window.location.href=data.redirect; } if(data.new_name){ obj.children('span').first().text(data.new_name); obj.attr('path',data.new_path); } }else{ alertify.error(data.msg); } },'json'); }); } //删除文件动作 functiondel_file(obj,path){ if(!obj||!path){returnfalse;} alertify.confirm('您确定要删除:'+path+'吗?',function(e){ if(!e){return'cancel';} alertify.log('正在删除中...'); $.post(window.location.href,{del:path},function(data){ if(data.msg&&'success'==data.result){ alertify.success(data.msg); obj.remove(); }else{ alertify.error(data.msg); } },'json'); }); } }); </script> </body></html> HTMLSTR; //判断是否已经登录 if(!is_logged()){ die(str_replace( array('【标题】','【动作】'), array('请输入您第一次设置的密码!','登录'), $first )); }else{ echo$html; }
以上就是本文所述的全部内容了,希望大家能够喜欢。