当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    php需登录的文件上传管理系统

    栏目:win服务器问题汇总 时间:2019-11-20 21:59

    本文给大家介绍一个不错的需要登录的php 文件上传管理系统,功能简单有需要了解的同学可参考。
    代码如下

    <?php
    $admin_pw="admin";//管理密码
    $uploaddir="upload";//上传目录
    session_start();
    if($_GET['action']=="getcode")
    {
     setcode();
     exit();
    }
    if($_POST['password']==$admin_pw && $_POST['yz']==$_SESSION['yzcode'])
    {
     $_SESSION['logined']=$admin_pw;
    }
    if($_GET['action']=="logout")
    {
     $_SESSION['logined']="";
     header("location: ".$_SERVER['PHP_SELF']);
     exit();
    }
    if($_SESSION['logined']!=$admin_pw)
    {
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>请登录</title>
    </head>
    <body>
    <form action="" method="post">
    输入密码:<input type="password" name="password"  /><br />验证字符:<input type="text"  name="yz" /><a href="#" onclick="document.tzm.src='?action=getcode';"><img src="?action=getcode" alt="验证码"  name="tzm" /></a><br /><input type="submit" value="进入管理" />
    </form>
    </body>
    </html>
    <?php
    }
    else
    {
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>文件上传</title>
    </head>
    <body>
    <?php
     if($_POST['ac']=="upload")
     {
     $fileall=explode('.',$_FILES['file']['name']);
     $filetype=$fileall[count($fileall)-1];
     $filename=$uploaddir."/".$_FILES['file']['name']."_".rand(1,999999999).".".$filetype;
     $fileexists=file_exists($filename);
     while($fileexists==true)
     {
     $filename=$uploaddir."/".$_FILES['file']['name']."_".rand(1,999999999).".".$filetype;
     $fileexists=file_exists($filename);
     }
     if(move_uploaded_file($_FILES["file"]["tmp_name"],$filename))
     {
     $url="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; 
     echo "文件:".$filename." 上传成功!<br>文件地址:<input type=text  value=".dirname($url)."/".$filename." /><a href=".dirname($url)."/".$filename." target="_blank">测试</a>";
     }
     else
     {
     echo "文件".$filename."上传失败!";
     }
     }
    ?>
    <form action="" method="post" enctype="multipart/form-data">
    选择文件:<input type="file" name="file"  width="100px" /><input type="hidden" name="ac" value="upload" /><input type="submit" value="上传" />
    </form>
    <p><a href="?action=logout">退出登录</a></p>
    </body>
    </html>
    <?php
    }
    
    function setcode()
    {
     Header("Content-type: image/gif");
     $border = 0; //是否要边框 1要:0不要
     $how = 4; //验证码位数
     $w = $how*15; //图片宽度
     $h = 20; //图片高度
     $fontsize = 5; //字体大小
     $alpha = "abcdefghijkmnopqrstuvwxyz"; //验证码内容1:字母
     $number = "0123456789"; //验证码内容2:数字
     $randcode = ""; //验证码字符串初始化
     srand((double)microtime()*1000000); //初始化随机数种子
     $im = ImageCreate($w, $h); //创建验证图片
     $bgcolor = ImageColorAllocate($im, 255, 255, 255); //设置背景颜色
     ImageFill($im, 0, 0, $bgcolor); //填充背景色
     if($border)
     {
     $black = ImageColorAllocate($im, 0, 0, 0); //设置边框颜色
     ImageRectangle($im, 0, 0, $w-1, $h-1, $black);//绘制边框
     }
     for($i=0; $i<$how; $i++)
     { 
     $alpha_or_number = mt_rand(0, 1); //字母还是数字
     $str = $alpha_or_number ? $alpha : $number;
     $which = mt_rand(0, strlen($str)-1); //取哪个字符
     $code = substr($str, $which, 1); //取字符
     $j = !$i ? 4 : $j+15; //绘字符位置
     $color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100), mt_rand(0,100)); //字符随即颜色
     ImageChar($im, $fontsize, $j, 3, $code, $color3); //绘字符
     $randcode .= $code; //逐位加入验证码字符串
     }
     $_SESSION['yzcode'] = $randcode;
     Imagegif($im);
     ImageDestroy($im);
    }
    ?>