首页 > 开发 > PHP > 正文

功能控制完备的PHP上载程序(3)

2024-05-04 23:02:12
字体:
来源:转载
供稿:网友

 

get_config($configurefile,$actionid,"upload");

?>

<html>

<head>

<title>
文件管理</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

</head>

<script language="javascript">

<!--

function mm_gotourl() { //v3.0

 var i, args=mm_gotourl.arguments; document.mm_returnvalue = false;

 for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");

}

function mydelfun(filename) {

answer=confirm('
您确定要删除'+filename+'文件吗?');

if(answer == 1){

mm_gotourl('parent','upfile.php?actid=<? echo $actionid;?>&username=<? echo $username;?>&filename='+filename+'&sec=<? echo $password;?>');return document.mm_returnvalue;}

else{



}

}

//-->

</script>

<body bgcolor="#ffffff">

<table width="80%" border="0" cellspacing="0" cellpadding="1" align="center">

 <tr>

   <td width="25%">&nbsp;</td>

 </tr>

 <tr>

   <td width="25%">
操作id<?echo $actionid;?></td>

 </tr>

 <tr>

   <td width="25%">
用户名:<?echo $username;?></td>

 </tr>

 <tr>

   <td width="25%">
当前目录:<?echo $targetdir?></td>

 </tr>

 <tr>

   <td width="25%">&nbsp;</td>

 </tr>

</table>

<table width="95%" border="0" cellspacing="0" cellpadding="4" align="center">

 <tr bgcolor="#000066">

   <td width="46%"><font color="#ffffff">
文件名称</font></td>

   <td width="20%"><font color="#ffffff">
文件大小</font></td>

   <td width="22%"><font color="#ffffff">
创建时间</font></td>

   <td width="12%" align="center"><font color="#ffffff">
有关操作</font></td>

 </tr>

</table>

<table width="95%" border="0" cellspacing="0" cellpadding="3" align="center">

<?

$handle=opendir($targetdir."/");

$maxlength=1;

while ($file = readdir($handle)) {

if(is_file($targetdir."/".$file)){

   if($maxlength%2) {$mbgc="#cccccc";}else{$mbgc="#ffffff";}

$maxlength++;

echo "<tr bgcolor="$mbgc"><td width="46%">$file</td>

   <td width="20%">";

echo filesize($targetdir."/".$file);

echo "</td><td width="22%">";

$filemod = filemtime($targetdir."/".$file);

$filemodtime = date("y-m-d h:i:s", $filemod);

print($filemodtime);

echo "</td><td width="12%" align="center"><a href=javascript:mydelfun('$file');>
删除</a></td></tr>";

}

}

closedir($handle);

?>

</table>

<table width="80%" border="0" cellspacing="0" cellpadding="0" align="center">

 <tr>

   <td>&nbsp;</td>

 </tr>

 <tr align="center">

   <td>
本操作id <a href=upfile.php?actid=<? echo $actionid?>&type=up" target="_blank">上传日志</a> <a href=upfile.php?actid=<? echo $actionid?>&type=del" target="_blank">管理日志</a></td>

</tr>

</table>

</body>

</html>



<?

exit;

};

##
删除管理完毕

##
删除文件操作

if($sec){//

get_config($configurefile,$actid,"upload");

unlink($targetdir."/".$filename);

$message=date("y-m-d h:i:s")." remote_ip:".$remote_addr." username:".$username." delete filename:".$filename."";

putlog($actid,$message,"b");

header("location:upfile.php?username=$username&actionid=$actid&actiontype=del&password=$sec");

exit;

}



if($type){}else{exit;};

function showlog($actid,$flag="a"){

$logfile="./log/".$actid.$flag.".log";

if(!file_exists($logfile)){echo "
该操作id暂时没有任何日志!";};

$logarray=file($logfile);

while (list($key,$value) = each($logarray)) {

echo $value."<br>";

}

}

if(trim($type)=="del"){showlog($actid,$flag="b");}else{showlog($actid);};

//
主程序结束

?>

   ■
配置文件 config.inc.php

<?


####################################################################
#project name: test
#author :lanf
#home page: http://lanf.yeah.net
#e-mail:[email protected]
#time: 2001 . 9
####################################################################


[table up]

#id dir user max(kb) type check limit callback

fa001 /home/lanf/upload * 1900 * * * ./
#
这就是说,标志为fa001的上传中,目标路径是/home/lanf/upload(当然这需要赋予php在这个目录下写的权限),限定的操作用户是*(表示任何人,当然你也可以限制为lanf,yy等等),每次上传的大小限制为1900kb,类型为任何类型(*,当然你也可以限制为gif,jpg等后缀,用逗号分隔。如果限制是gif或者jpg的话,系统自动读取若干字节检查文件类型是否为伪冒check项为是否调用外部程序检验上传文件真伪,若不调用,直接写*,调用直接写该文件绝对路径。limit项是针对调用页的限制,不限制可以写*,限制的话,填写该主机域名或者ip地址,可以支持192.*.*.*等区域授权方式。最后一项是返回页面,上传文件后调用哪个url(注意,填写的是url,确保系统路径不被泄漏)

国内最大的酷站演示中心!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表