-
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; //逐位加入验证码字符串
- }//开源代码phpfensi.com
- $_SESSION['yzcode'] = $randcode;
- Imagegif($im);
- ImageDestroy($im);
- }
- ?>
出处:http://www.phpfensi.com/php/20140827/4882.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式