[原创]php+ajax实现模拟Win文件管理系统八

 更新时间:2016年11月25日 17:35  点击:1930

这段时间比较忙所以段了一段时间,今天抽点时间把它写完,下面我继续讲js.js文件重命名函数

 function edit(e,path){


  var text=e.innerHTML;


  var eT=document.createElement("input");//这里是根据用户单击情况重写文件名


  e.innerHTML="";


  e.appendChild(eT);


 eT.value=text;


  eT.select();


  e.onclick="";


  eT.onblur=function(){        


  CreateAjax();


  if(text == this.value){


    e.innerHTML=this.value;


    e.onclick=function(){edit(this,path)};


    return false;


  }else{  


    e.innerHTML=this.value;


    Re_name(path,this.value,e);   


    e.onclick=function(){edit(this,path)};


  }


  };  


 }

上面了一dom+JS对文件进行完成,操作.

 function CreateAjax(){//这个函数就不多说了,己经讲过多次了.


  try { xmlhttp = new XMLHttpRequest();}


   catch (e){


  try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}


   catch (e2){


  try { xmlhttp = new ActiveXObject("MSXML2.XMLHTTP"); }


   catch(e3){ xmlhttp = false; }


  }


  }          


  if( !xmlhttp){alert('对不起,你正在使用的浏览不支持AJAX!');return false;}


  }

function Re_name(o_name,n_name,e){  //这里重命名了.

   var name=o_name.replace(/.*\/(.+)$/i,"$1");

   if(name.match(/^\w{1,255}\.\w{1,8}$/i)){//用正则判断文件名的合法性.

   if(!n_name.match(/^\w{1,250}\.\w{1,8}$/i)){
    
     e.innerHTML=name;

     document.getElementById("t").innerHTML="<div id='info' style='position:absolute;  height:20px; z-index:1; left: 245px; top: 121px;display:block'>对不起,不能修改文件的扩展名...</div>";
         
     setInterval("func()",3000);  
     
     return false;

   }

   }else if(name.match(/^\w{1,255}$/i)){

    if(!n_name.match(/^\w{1,250}$/i)){

     e.innerHTML=name;
     
     document.getElementById("t").innerHTML="<div id='info' style='position:absolute;  height:20px; z-index:1; left: 245px; top: 121px;display:block'>对不起,不能把文件夹重命名为文件名...</div>";

     setInterval("func()",3000);
     return false;

   }

   }else{
      alert('非法操作');

     e.innerHTML=name;

     return false;
   }
   var url="rename.php?path="+encodeURI(o_name.replace("/","\/"))+"&nname="+encodeURI(n_name)+"&rd="+Math.random();

   Senddata('GET',url,ReturnValue,null); //了送给rename.php


 }
 

 

//

本站原创:www.111cn.net

作者:drise1

QQ:271728967

//

接上面的.
 function Senddata(method,url,ReturnValue,Action){  //保存数据

   xmlhttp.open(method,url,true); 

   xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  
   xmlhttp.setRequestHeader("Cache-Control","no-cache"); //不缓存

   if(ReturnValue !=null){

   xmlhttp.onreadystatechange=ReturnValue;

   }   

   xmlhttp.send(null);
   if(Action == 'mkdir')  //如果是创建文件夹就刷新窗口
   {
    window.location.reload();


   } 

 }


 function ReturnValue(){//返回值

  if(xmlhttp.readystate != 4 || xmlhttp.status != 200){
   document.getElementById("t0").innerHTML="<div id='info' style='position:absolute;  height:20px; z-index:1; left: 245px; top: 121px;display:block'>正在发送...</div>";
 }

  if( xmlhttp.readystate == 4 || xmlhttp.status == 200 ){

   document.getElementById("t0").innerHTML="<div id='info' style='position:absolute;  height:20px; z-index:1; left: 245px; top: 121px;display:block '>"+xmlhttp.responseText+"</div>";
 } 

 setInterval("func()",3000);//设置3000秒延迟
 }

 function func(){
  ob=document.getElementById('info');

    ob.style.display = 'none';

 }

下面为删除

 function del(obj){  


  if(confirm("确实要删除\""+obj+"\"吗?","","")){   


   CreateAjax();   


   var Delurl="rename.php?path="+encodeURI(obj.replace("/","\/"))+"&action=del&rd="+Math.random();


    xmlhttp.open("GET",Delurl,true);   


    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");   


    xmlhttp.setRequestHeader("Cache-Control","no-cache");


    xmlhttp.onreadystatechange=function(){


     if (xmlhttp.readystate == 4 || xmlhttp.status == 200){ 


      var value=xmlhttp.responseText;


     if( value =='t' ){


      document.getElementById(obj).style.display="none";


     }else if( value =='fo'){


      alert("操作失败,请查看权限或文件夹不为空!foss!");


     }else if( value =="ff"){


      alert("操作失败,请查看权限!");


     }else{


      alert("操作失败,请查看权限或文件夹不为空!!");


     } 


     


    }


    }


    xmlhttp.send(null);


   }


 } 


  

2008-01-24 00:00:00

//

本文由本站原创:www.111cn.net

作者:www.111cn.net

转载请注明:来自www.111cn.net

qq:271728967

//

早起一起突然看到,我的网站有人在恶心乱搞,为了防止这种事情我想了一个办法那就是封用户的IP了.

首页我们来建数据库:

CREATE TABLE `su_lockip` (
  `id` int(4) NOT NULL auto_increment,
  `lockip` varchar(1024) default NULL,
  PRIMARY KEY  (`id`)
)

下页来创建一个封文件的页面,主要是用户写入IP以"|"分开,这个页面就不多写了,我就简单的写一下,入库代码$UlockIp=$_POST['z']?$_POST['z']:''; 
 if(empty($UlockIp)){
  exit("<script>alert('对不起,你输入的信息有误!');history.back();</script>");
 }
 $sql="update su_lockip set lockip='$UlockIp'";
 if(mysql_query($sql)){
  exit("<script>alert('锁定成功!');history.back();</script>");
 }else{
  exit("<script>alert('对不起,你输入的信息有误!');history.back();</script>");
 }

就这么简单,最后就是进行锁定的了.下面代码是根据数据中是否存用户IP,如果在就提示被KILL了.代码如下:

function lock_user_ip(){
 $Usql =mysql_query("select * from su_lockip");
 $Urs =mysql_fetch_array($Usql);
 $UlockIp=$Urs['lockip'];
 $ClockIp=$this->get_real_ip();
 $Iplist =explode('|',$UlockIp);
 if(in_array($ClockIp,$Iplist)){
  exit('sorry system lock your IP');
 }
 }
 
 function get_real_ip(){//这段代码来是互联网.
   $ip=false;
   if(!empty($_SERVER["HTTP_CLIENT_IP"])){
    $ip = $_SERVER["HTTP_CLIENT_IP"];
   }
   if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    for ($i = 0; $i < count($ips); $i++) {
     if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
      $ip = $ips[$i];
      break;
     }
    }
   }
   return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
 }

哈哈写完了就这么简单,没有进行安全过滤处理.

[原创]php+ajax实现模拟Win文件管理系统

//

本教程由本站原创,转载请注明来处

作者:www.111cn.net

邮箱:drise@163.com

QQ:271728967

//

最后一个文件就是js.js文件了.

var xmlhttp=false;
 function aa(obj)
 {
  obj.className='aa';
  obj.onblur=function(){obj.className='bb';}
 }
 function resizepic(thispic) {
  //$('imgbox').style.width = $('divbox').clientWidth;
  if(thispic.height>55||thispic.width>55)thispic.style.zoom=56/(thispic.height>thispic.width?thispic.height:thispic.width);

 }

 function resizeimg(thispic){

  if(thispic.height>100||thispic.width>100)thispic.style.zoom=180/(thispic.height>thispic.width?thispic.height:thispic.width);
 }

上面这些是对图片进行缩放的.不过在fox也像有一点问题.

function Losefocus(obj,path){ //这里是创建文件时判断文件合法性,然后发带参数发送给rename.php文件,

 var ivalue=obj.value; 

 if( 'New folder' == ivalue || !ivalue.match(/^\w{1,255}$/i)){

  alert('输入合法文件夹名!');

  obj.select();

  return false;

 }else{  
  CreateAjax();
  var url="rename.php?path="+encodeURI(path.replace("/","\/"))+"&nname="+encodeURI(obj.value)+"&action=mkdir&rd="+Math.random();


  Senddata('GET',url,ReturnValue,'mkdir');


  document.getElementById('t1').innerHTML=ivalue;


  window.location.reload();


 }


}

下面还有今天就不写了,手都打痛了.明天接着来.

[原创]php+ajax实现模拟Win文件管理系统

//本教程由本站原创,转载请注明来处

作者:www.111cn.net

邮箱:drise@163.com

QQ:271728967

//

上面php文件讲完了,下面来讲一下,document.js文件.些文件来自互联网.

var subMenuSrcObj=null;
function ShowMenu(obj,x,y){


 try{

  subMenuSrcObj=obj;


  document.getElementById("subMenu").style.top=(ie_y(obj)+obj.offsetHeight+y)+"px";


  document.getElementById("subMenu").style.left=(ie_x(obj)+x)+"px";


 }catch(e)
 {  ;
 }


}


function loadsubMenu()


{


 document.body.insertAdjacentHTML("afterBegin","<div id=\"subMenu\" style=\"filter:progid:DXImageTransform.Microsoft.DropShadow(color=#333333,offX=1,offY=1,positives=true);position:absolute; left:-10025px; top:47px; width:100px; height:1px;background-color: #D4D0C8;z-index:99999\">s</div>");


}


function hiddenSubMenu1()


{


 document.getElementById("subMenu").style.left="-9000px";


}


function hiddenSubMenu()


{


 try


 {


 


 


 obj=document.getElementById("subMenu");


 temp=false;


 e=event.srcElement;


 if(e==obj)


 {


  temp=false;


 }else


 {


  temp=true;


  while(e=e.offsetParent)


  {


   if(e==obj||e==subMenuSrcObj)


   {


    temp=false;


   }


  }


 }


 if(event.srcElement==subMenuSrcObj)


 {


  temp=false;


 }


 if(temp&&parseInt(obj.style.left)>0)


 {


  hiddenSubMenu1();


 }


 }


 catch (e)


 {


 }


}


function ie_y(e){ 


 var t=e.offsetTop; 


 while(e=e.offsetParent){ 


  t+=e.offsetTop; 


 } 


 return t; 



function ie_x(e){ 


 var l=e.offsetLeft; 


 while(e=e.offsetParent){ 


  l+=e.offsetLeft; 


 } 


 return l; 


}


function del(){


  


  


}

 

 

    function myMenuShow(obj,btn)


    {


                document.getElementById("subMenu").innerHTML="<li onMouseOver=\"this.style.backgroundColor='#F5FBFF'\" onMouseOut=\"this.style.backgroundColor=''\" onclick=\"alert('"+btn+"');\" >剪  切</li> <li onMouseOver=\"this.style.backgroundColor='#F5FBFF'\" onMouseOut=\"this.style.backgroundColor=''\">复  制</li><li onMouseOver=\"this.style.backgroundColor='#F5FBFF'\" onMouseOut=\"this.style.backgroundColor=''\" >粘  贴</li> <hr><li onMouseOver=\"this.style.backgroundColor='#F5FBFF'\" onMouseOut=\"this.style.backgroundColor=''\" onclick=\"del("+btn+");\">删 除</li> <hr><li onMouseOver=\"this.style.backgroundColor='#F5FBFF'\" onMouseOut=\"this.style.backgroundColor=''\" onclick=\"alert('你单击文件名就可重命名!');\" >重命名</li><br/>";


                ShowMenu(obj,0,0);


                return false;


    }


document.onmousemove=hiddenSubMenu;


attachEvent('onload', loadsubMenu);// JavaScript Document//等一下只要这样调用就行了.

上一篇

 

[!--infotagslink--]

相关文章

  • python实现学生通讯录管理系统

    这篇文章主要为大家详细介绍了python实现学生通讯录管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-25
  • 护卫神 主机管理系统使用说明(MSSQL管理)

    护卫神·主机管理系统该版本支持在Windows Server 200320082012,含32位和64位,直接开设配置WEB站、FTP站,以及SQL Server和MySQL,是您开设和管理虚拟主机的绝好帮手。但是对于新用户可能在使用上有一些困难,因此请仔细阅读如下说明文档...2016-01-27
  • 深入C# 内存管理以及优化的方法详解

    本篇文章是对C#中内存管理以及优化的方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
  • 详解swift中xcworkspace多项目管理

    给大家详细讲解了IOS开发中swift语言xcworkspace多项目管理的方法和介绍,一起参考一下。...2020-06-30
  • js实现车辆管理系统

    这篇文章主要为大家详细介绍了js实现车辆管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-26
  • php需登录的文件上传管理系统

    本文给大家介绍一个不错的需要登录的php 文件上传管理系统,功能简单有需要了解的同学可参考。 代码如下<&#63;php$admin_pw="admin";//管理密码$uploaddir="upload";//上传目录session_start();if($_GET['action']=="g...2015-10-30
  • thinkphp自定义权限管理之名称判断方法

    下面小编就为大家带来一篇thinkphp自定义权限管理之名称判断方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
  • C++学生信息管理系统

    这篇文章主要为大家想详细介绍了C++学生信息管理系统的实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • C语言学生成绩管理系统小设计

    这篇文章主要为大家详细介绍了C语言学生成绩管理系统小设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25
  • C#毕业设计之Winform零压健身房管理系统

    本文介绍了个人的《零压健身房管理系统(扁平化)》的基本流程和功能点的介绍,虚心接受各位的意见,欢迎在提出宝贵的意见,大家一起探讨学习...2021-09-26
  • vue前端开发辅助函数状态管理详解示例

    vue的应用状态管理提供了mapState、mapGetters、mapMutations、mapActions四个辅助函数,所谓的辅助函数分别对State、Getters、Mutations、Actions在完成状态的使用进行简化...2021-10-10
  • 如何管理Vue中的缓存页面

    这篇文章主要介绍了如何管理Vue中的缓存页面,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下...2021-02-06
  • jQuery技巧之让任何组件都支持类似DOM的事件管理

    这篇文章主要介绍了jQuery技巧之让任何组件都支持类似DOM的事件管理 的相关资料,需要的朋友可以参考下...2016-04-06
  • C#实现微信公众号会员卡管理的示例代码

    这篇文章主要介绍了C#实现微信公众号会员卡管理的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • C++顺序表实现图书管理系统

    这篇文章主要为大家详细介绍了C++顺序表实现图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-10-13
  • 基于python实现银行管理系统

    这篇文章主要介绍了基于python实现银行管理系统,文中有非常详细的代码示例,对正在学习python项目制作的小伙伴们有很好的帮助,需要的朋友可以参考下...2021-04-19
  • 40行代码把Vue3的响应式集成进React做状态管理

    这篇文章主要介绍了40行代码把Vue3的响应式集成进React做状态管理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-20
  • 详解Java如何使用集合来实现一个客户信息管理系统

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Java 集合实现一个客户信息管理系统,大家可以在过程中查缺补漏,提升水平...2021-11-11
  • [原创]php+ajax实现模拟Win文件管理系统五

    [原创]php+ajax实现模拟Win文件管理系统 // 本教程由本站原创,转载请注明来处 作者:www.111cn.net 邮箱:drise@163.com QQ:271728967 // 就是deldir()函数了这个函数的...2016-11-25
  • C语言实现学生学籍管理系统

    这篇文章主要为大家详细介绍了C语言实现学生学籍管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-04-25