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的FTP学习(一)
Oct 09 PHP
将OICQ数据转成MYSQL数据
Oct 09 PHP
discuz authcode 经典php加密解密函数解析
Jul 12 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
php函数指定默认值方法的小例子
Dec 04 PHP
codeigniter框架批量插入数据
Jan 09 PHP
php数字运算验证码的实现代码
Jul 30 PHP
详解PHP执行定时任务的实现思路
Dec 21 PHP
PHP开发中常用的十个代码样例
Feb 02 PHP
Yii2中事务的使用实例代码详解
Sep 07 PHP
浅谈PHP array_search 和 in_array 函数效率问题
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文件管理基本功能简单操作
2017/01/16 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
js下利用控制器载入对应脚本
2010/07/17 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
jQuery控制frames及frame页面JS的方法
2016/03/08 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
原生js实现的观察者和订阅者模式简单示例
2020/04/18 Javascript
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
win10环境下配置vscode python开发环境的教程详解
2019/10/16 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
简历的自荐信
2013/12/19 职场文书
楼面部长岗位职责范本
2014/02/14 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
最美家庭活动方案
2014/08/31 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
病人家属写给医院的感谢信
2015/01/23 职场文书
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
如何用PHP实现分布算法之一致性哈希算法
2021/05/26 PHP
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL