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警告错误信息的解决方法
Jun 03 PHP
php比较两个绝对时间的大小
Jan 31 PHP
destoon调用自定义模板及样式的公告栏
Jun 21 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
PHP函数http_build_query使用详解
Aug 20 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
Nov 22 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
PHP获取当前日期和时间及格式化方法参数
May 11 PHP
thinkphp命名空间用法实例详解
Dec 30 PHP
PHP实现查询两个数组中不同元素的方法
Feb 23 PHP
PHP 文件锁与进程锁的使用示例
Aug 07 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 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
DedeCMS 核心类TypeLink.class.php摘要笔记
2010/04/07 PHP
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
解析JavaScript中的标签语句
2013/06/19 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
jquery跟随屏幕滚动效果的实现代码
2016/04/13 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
Vue2.0子同级组件之间数据交互方法
2018/02/28 Javascript
webpack4.x打包过程详解
2018/07/18 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
2020/11/02 Javascript
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
[54:57]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第二场 1月8日
2021/03/11 DOTA
python实现得到一个给定类的虚函数
2014/09/28 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
把pandas转换int型为str型的方法
2019/01/29 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
法学研究生自我鉴定范文
2013/12/04 职场文书
委托证明的格式
2014/01/10 职场文书
留守儿童工作方案
2014/06/02 职场文书
农贸批发市场管理制度
2015/08/07 职场文书
大队委员竞选稿
2015/11/20 职场文书