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与javascript对多项选择的处理
Oct 09 PHP
特转载一高手总结PHP学习资源和链接.
Dec 05 PHP
php 更新数据库中断的解决方法
Jun 05 PHP
用php或asp创建网页桌面快捷方式的代码
Mar 23 PHP
linux下删除7天前日志的代码(php+shell)
Jan 02 PHP
php重定向的三种方法分享
Feb 22 PHP
解析PHP中empty is_null和isset的测试
Jun 29 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
PHP防止post重复提交数据的简单例子
Jun 07 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
解决laravel id非自增 模型取回为0 的问题
Oct 11 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 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
PHP脚本数据库功能详解(中)
2006/10/09 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
jQuery ul标签下拉菜单演示代码
2010/12/11 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
JQuery拖拽元素改变大小尺寸实现代码
2012/12/10 Javascript
jQuery中json对象的复制方式介绍(数组及对象)
2013/06/08 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
javascript随机抽取0-100之间不重复的10个数
2016/02/25 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
一个简易的js图片轮播效果
2017/07/22 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
JS/HTML5游戏常用算法之碰撞检测 地图格子算法实例详解
2018/12/12 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
JavaScript数据结构之栈实例用法
2019/01/18 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
JS异步处理的进化史深入讲解
2019/08/25 Javascript
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
Django框架表单操作实例分析
2019/11/04 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
python发qq消息轰炸虐狗好友思路详解(完整代码)
2020/02/15 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
在求职信中如何凸显个人优势
2013/10/30 职场文书
毕业自我鉴定
2013/11/05 职场文书
公司奖励通知
2015/04/21 职场文书
预备党员转正意见
2015/06/01 职场文书
药品销售员2015年终工作总结
2015/10/22 职场文书
Mysql 性能监控及调优
2021/04/06 MySQL
iPhone13再次曝光
2021/04/15 数码科技
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android
JavaScript实现简单的音乐播放器
2022/08/14 Javascript