Thinkphp 验证码、文件上传
一、验证码


验证码参数





例题:登录时验证下验证码
LoginController.class.php
<?php
namespace Home\Controller;
use Think\Controller;
class LoginController extends Controller
{
public function Login()
{
if(empty($_POST))
{
$this->display();
}
else
{
//判断验证码是否正确
$code = $_POST["yzm"];//用户输入的验证码的值
$verify = new \Think\Verify(); //生成验证码
if($verify->check($code))
{
if($_POST["uid"]!="")
{
$model = D("users"); $uid = $_POST["uid"];
$pwd = $_POST["pwd"]; $attr = $model->field("Pwd")->find($uid);
//echo $attr["pwd"]; if($pwd == $attr["pwd"])
{
session("uid",$uid);
$this->success("登录成功","Main");
}
else
{
$this->error("登录失败");
}
}
else
{
$this->error("登录失败");
} }
else
{
$this->error("验证码错误");
}
}
} //生成验证码的操作
public function yzm()
{
$config = array(
'fontSize' => 30, // 验证码字体大小
'length' => 5, // 验证码位数
//'useNoise' => false, // 关闭验证码杂点
'imageW' => 200,//宽度
'imageH' => 100,//高度
//'useZh' => true,//中文验证码
//'fontttf' => 'Arvo-Regular.ttf',//指定验证码字体
); $Verify = new \Think\Verify($config);
//$Verify->fontttf = '7.ttf'; // 验证码字体使用 ThinkPHP/Library/Think/Verify/ttfs/5.ttf
$Verify->entry();
}
Login.html
<!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>
<script src="../../../../Public/four/llx/js/jquery-1.3.2.js"></script>
</head> <body>
<h1>登录</h1>
<form action="__ACTION__" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="password" name="pwd" /></div>
<div>验证码:<input type="text" name="yzm" /><br />
<img id="yzm" src="__CONTROLLER__/yzm" /></div>
<input type="submit" value="登录" /> </form>
</body>
</html>
<script type="text/javascript">
$(document).ready(function(e) {
$("#yzm").click(function(){
//点击图片验证码改变
$(this).attr("src","__CONTROLLER__/yzm"); })
});
</script>

二、文件上传

上传参数




每个文件信息又是一个记录了下面信息的数组,包括:

//文件上传
public function ShangChuan()
{
if(empty($_FILES))
{
$this->display();
}
else
{
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型 //$upload->mimes = '';
$upload->rootPath = './Public/';
$upload->savePath = 'Uploads/'; // 设置附件上传目录
$upload->saveName = '';//保持上传文件名不变 // 上传文件
$info = $upload->upload();
var_dump($info); if(!$info)
{
$this->error($upload->getError());
}
else
{
// 上传成功 获取上传文件信息
foreach($info as $file)
{
$url=$file['savepath'].$file['savename'];
echo $url;
$this->assign("url",$url);
$this->display();
//$this->success('上传成功!');
}
} }
}
<!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="__ACTION__" enctype="multipart/form-data" method="post" > <input type="file" name="photo" />
<input type="submit" value="提交" > </form>
</body>
</html>

Thinkphp 验证码、文件上传的更多相关文章
- ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法
这个是非常常用的案例,ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法/** * 单文件上传 * name:表单上传文件的名字 * ext: 文件允许的后缀,字符串形式 * path:文件保 ...
- thinkphp实现文件上传
文件上传详细讲解 http://www.thinkphp.cn/info/194.html 上传根目录不存在问题解决方法 http://www.thinkphp.cn/topic/10779.html
- ThinkPHP之文件上传
在项目其中.我们有的时候需要上传图片的功能.简单的从面相过程的方法是相对较为复杂的,要一步一步的来.假设用框架的话,相对就简单了很多,主要就是方法以及每个变量所代表的意义,然后就是一些注意的地方了. ...
- ThinkPHP3.2.3多文件上传,文件丢失问题的解决
描述 thinkphp多文件上传时,有些时候会出现文件丢失的情况.比如上传多个图片,最终只上传了一个图片.本地测试的时候是正常的,但上传到服务器上就会出现丢失文件这种情况. 原因 查看tp上传类(Th ...
- ThinkPHP讲解(十一)——验证码和文件上传
一.验证码 1.页面前端显示 (验证码是图片标签,来源是控制器里的yzm()操作方法) <h1>登录</h1> <form action="__ACTION__ ...
- PHP之ThinkPHP框架(验证码、文件上传、图片处理)
验证码 验证码是框架自带有的,比之前使用GD库简单方便许多,其实现原理基本相似,都是生成图片,保存验证码值到Session中,表单提交验证码,然后进行值的对比验证. 简单的显示: <form ...
- 6月19 使用tp框架生成验证码及文件上传
ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think ...
- ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)
验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...
- THINKPHP源码学习--------文件上传类
TP图片上传类的理解 在做自己项目上传图片的时候一直都有用到TP的上传图片类,所以要进入源码探索一下. 文件目录:./THinkPHP/Library/Think/Upload.class.php n ...
随机推荐
- interview material
Articles Recommended: Steve Yegge – Get That Job at Google [web] Carlos Bueno – Get That Job at Face ...
- Unity Dx9 Occlusion Query plugin
//Occlusion Unity plugin #include "UnityPluginInterface.h" #include <math.h>#include ...
- Java nextInt()函数
nextInt( int num) 能接受一个整数作为它所产生的随机整数的上限,下限为零,比如:nextInt(4)将产生0,1,2,3这4个数字中的任何一个数字,注意这里不是0-4,而是0-3..但 ...
- E - Find The Multiple
题目大意 找倍数 给你一个数,找到一个能数是它的倍数的数,当然这个数只能由0和1组成.......这个数最大200,比较唬人,其实这个数在最大也不超过2^64.....简单广搜一下 ///////// ...
- CentOS虚拟机不能联网状况下yum方式从本地安装软件包(转载的)
大家都知道yum是linux下一个非常好用的软件安装/卸载软件,它方便操作,而且最厉害的是可以解决令人头疼的包依赖关系.但是若是你的linux不能联网,若想使用yum安装软件,可以依照下面的方法. 1 ...
- dependencyManagement与dependencies区别
最近在阅读maven项目代码时,dependencyManagement与dependencies之间的区别不是很了解,现通过项目实例进行总结:项目epps-demob-pom下有一个模块是epps- ...
- SpringMVC 学习笔记(一) Hello World
springMVC概述: Spring MVC 是眼下最主流的MVC 框架之中的一个 Spring MVC 通过一套 MVC 注解.让 POJO 成为处理请 求的控制器,而无须实现不论什么接口. 支持 ...
- padding与margin的差别
之前一直没有搞懂android:padding和android:layout_margin的差别,事实上概念非常easy,padding是站在父view的角度描写叙述问题,它规定它里面的内容必须与这个 ...
- Linux 内核的文件 Cache 管理机制介绍-ibm
https://www.ibm.com/developerworks/cn/linux/l-cache/ 1 前言 自从诞生以来,Linux 就被不断完善和普及,目前它已经成为主流通用操作系统之一,使 ...
- Android系统移植与驱动开发——第七章——LED驱动
LED驱动的实现原理 编写LED驱动: 测试LED驱动之前需要用USB数据线连接开发板,然后打开电源,成功启动之后,执行build.sh脚本文件编译和安装LED驱动,顺利则会自动连接 如果有多个设备文 ...