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

 更新时间:2020年03月21日 12:55:24   投稿:lijiao  
这篇文章主要介绍了php需登录的文件上传管理系统,文章中跟大家分享了一个很完整的php代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文给大家介绍一个不错的需要登录的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" style="width:100px;" /><br />验证字符:<input type="text" style="width:40px;" name="yz" /><a href="#" onclick="document.tzm.src='?action=getcode';"><img src="?action=getcode" alt="验证码" id="tzm" 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 style='width:350px;' 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" id="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);
}
?>

更多学习资料请关注专题《管理系统开发》。

以上就和大家一起学习了需要登录的php文件上传管理系统,大家可以根据自己爱好对登录进行美化操作,希望大家可以喜欢这篇文章。

相关文章

  • php调用mysql存储过程

    php调用mysql存储过程

    php调用mysql存储过程...
    2007-02-02
  • php+redis在实际项目中HTTP 500: Internal Server Error故障排除

    php+redis在实际项目中HTTP 500: Internal Server Error故障排除

    用户量快速增长,访问量在短时间内翻倍,由于前期容量规划做得比较好,硬件资源可以支撑,可是软件系统方面出现了大问题:40% 的请求都会返回 HTTP 500: Internal Server Error
    2017-02-02
  • PHP实现双链表删除与插入节点的方法示例

    PHP实现双链表删除与插入节点的方法示例

    这篇文章主要介绍了PHP实现双链表删除与插入节点的方法,结合实例形式分析了PHP双链表的定义与节点操作相关实现技巧,需要的朋友可以参考下
    2017-11-11
  • php生成shtml类用法实例

    php生成shtml类用法实例

    这篇文章主要介绍了php生成shtml类用法,较为详细的讲述了生成shtml的类文件以及与之对应的用法实例,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • php中stdClass的用法分析

    php中stdClass的用法分析

    这篇文章主要介绍了php中stdClass的用法,实例分析了stdClass的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • 微信公众平台接口开发入门示例

    微信公众平台接口开发入门示例

    这篇文章主要介绍了微信公众平台接口开发入门示例,较为简单透彻的分析了微信公众平台接口开发的技巧与具体方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • PHP的静态方法与普通方法用法实例分析

    PHP的静态方法与普通方法用法实例分析

    这篇文章主要介绍了PHP的静态方法与普通方法用法,结合实例形式分析了PHP静态方法与普通方法的功能、用法及相关操作注意事项,需要的朋友可以参考下
    2019-09-09
  • php链路追踪框架skywalking介绍

    php链路追踪框架skywalking介绍

    SkyWalking是一个开源的可观测平台,用于从服务和云原生基础设施收集,分析, 聚合及可视化数据。SkyWalking 提供了一种简便的方式来清晰地观测分布式系统,甚至横跨多个云平台
    2022-08-08
  • php 设计模式之 单例模式

    php 设计模式之 单例模式

    其实在工厂模式就已经应用了单例模式,从始到终它就只有一个工厂,单例模式不需要新建实例。现在写一个简单的例子。
    2008-12-12
  • php使用Jpgraph创建3D饼形图效果示例

    php使用Jpgraph创建3D饼形图效果示例

    这篇文章主要介绍了php使用Jpgraph创建3D饼形图效果,结合实例形式分析了php基于Jpgraph绘制图形的原理、实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-02-02

最新评论