//
本站原创: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);
}
}
function Createfolder(){//创建文件夹
document.getElementById('t').style.display='block';
}
function Copy(path,tage){//复制文件
var time = new Date();
var filepath ="filepath";
time.setTime(time.getTime()+60000);
if(tage == 'c'){
document.getElementById(path).style.filter = "Alpha(Opacity=50,style=0);";//设置透明度让用户感觉是文件被剪切了,
path=path+"|";
}
document.cookie = filepath+"="+path+"; expires="+time.toGMTString()+"; path=/";//由于要用到全局变量所以用了cookie保存功能,
}
function Past(cookname,currentpath){//取得剪板中的文件
if(cookname == "" ){return false;}
var cookies = document.cookie;
if(cookies == ""){ alert("剪切贴为空!"); return false; }
var arrar = cookies.split("; ");
for(var i=0;i<=arrar.length-1;i++){
if( arrar[i].indexOf(cookname)!= -1 ){
returnvalue=arrar[i].split("=");
Pastfile(returnvalue[1],currentpath);
}
}
}
function Pastfile(p_file,p_path){// 粘贴文件
CreateAjax();
var name=p_file.substring(p_file.lastIndexOf("/")+1);
var url="rename.php?path="+encodeURI(p_path.replace("/","\/"))+"&nname="+name+"©path="+p_file+"&action=past&rd="+Math.random();
Senddata('GET',url,Pastreturn,'');
}
function Pastreturn(){
if(xmlhttp.readystate == 4 || xmlhttp.status == 200){
window.location.reload();
}
}
这段时间比较忙所以段了一段时间,今天抽点时间把它写完,下面我继续讲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
}
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();
}
}
下面还有今天就不写了,手都打痛了.明天接着来.