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 相关文章推荐
下载文件的点击数回填
Oct 09 PHP
php中将时间差转换为字符串提示的实现代码
Aug 08 PHP
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
Dec 10 PHP
thinkphp 一个页面使用2次分页的实现方法
Jul 15 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
PHP中spl_autoload_register函数的用法总结
Nov 07 PHP
Codeigniter实现多文件上传并创建多个缩略图
Jun 12 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
php中socket通信机制实例详解
Jan 03 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
YII框架行为behaviors用法示例
Apr 26 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
一个简洁的多级别论坛
2006/10/09 PHP
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
javascript 数组学习资料收集
2010/04/11 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
js对数字的格式化使用说明
2011/01/12 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
Javascript 实现全屏滚动实例代码
2016/12/31 Javascript
详解Vue 动态添加模板的几种方法
2017/04/25 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
React优化子组件render的使用
2019/05/12 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
2020/07/24 Javascript
linux 下实现python多版本安装实践
2014/11/18 Python
python中实现php的var_dump函数功能
2015/01/21 Python
详解Python中DOM方法的动态性
2015/04/11 Python
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
django接入新浪微博OAuth的方法
2015/06/29 Python
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
python生成n个元素的全组合方法
2018/11/13 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
详解python tkinter模块安装过程
2020/01/06 Python
Python多线程threading创建及使用方法解析
2020/06/17 Python
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
2013英文求职信模板范文
2013/11/15 职场文书
奶茶专卖店创业计划书
2014/01/18 职场文书
酒店节能降耗方案
2014/05/08 职场文书
劳资员岗位职责
2015/02/13 职场文书
html网页引入svg图片的4种方式
2022/08/05 HTML / CSS