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


Posted in PHP onMarch 21, 2020

本文给大家介绍一个不错的需要登录的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 相关文章推荐
PHP手机号码归属地查询代码(API接口/mysql)
Sep 04 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
解析使用substr截取UTF-8中文字符串出现乱码的问题
Jun 20 PHP
php读取excel文件的简单实例
Aug 26 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
PHP实现的进度条效果详解
May 03 PHP
Yii编程开发常见调用技巧集锦
Jul 15 PHP
php下载文件超时时间的设置方法
Oct 06 PHP
golang 调用 php7详解及实例
Jan 04 PHP
php实现微信支付之退款功能
May 30 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 PHP
PHP文件缓存类实现代码
Oct 26 #PHP
php多线程实现方法及用法实例详解
Oct 26 #PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 #PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 #PHP
日常整理PHP中简单的图形处理(经典)
Oct 26 #PHP
php 参数过滤、数据过滤详解
Oct 26 #PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 #PHP
You might like
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
PHP学习之PHP变量
2006/10/09 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
基于PHP后台的Android新闻浏览客户端
2016/05/23 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
Jquery和angularjs获取check框选中的值的方法汇总
2016/01/17 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
vue使用ajax获取后台数据进行显示的示例
2018/08/09 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
JavaScript实现随机五位数验证码
2019/09/27 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
跟老齐学Python之print详解
2014/09/28 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
10个示例带你掌握python中的元组
2020/11/23 Python
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
医学专业大学生求职信
2014/07/12 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
学籍证明模板
2015/06/18 职场文书