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实现WEB动态网页静态
Oct 09 PHP
解析php中反射的应用
Jun 18 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
PHP按行读取文件时删除换行符的3种方法
May 04 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
php短址转换实现方法
Feb 25 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
PHP弹出对话框技巧详细解读
Sep 26 PHP
PHP使用PDO操作数据库的乱码问题解决方法
Apr 08 PHP
php 的反射详解及示例代码
Aug 25 PHP
Laravel 5.1 on SAE环境开发教程【附项目demo源码】
Oct 09 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
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
浅谈Node.js之异步流控制
2017/10/25 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
2020/06/15 Javascript
[04:51]TI10典藏宝瓶Ⅱ外观视频展示
2020/08/15 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
使用Python脚本对Linux服务器进行监控的教程
2015/04/02 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
在python Numpy中求向量和矩阵的范数实例
2019/08/26 Python
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
关于中国梦的演讲稿
2014/04/23 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
三问三解心得体会
2014/09/05 职场文书
六查六看六改心得体会
2014/10/14 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
内乡县衙导游词
2015/02/05 职场文书
青岛导游词
2015/02/12 职场文书
2015年体育部工作总结
2015/04/02 职场文书
《灰雀》教学反思
2016/02/19 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js