一、验证码

验证码参数

例题:登录时验证下验证码

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 验证码、文件上传的更多相关文章

  1. ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法

    这个是非常常用的案例,ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法/** * 单文件上传 * name:表单上传文件的名字 * ext: 文件允许的后缀,字符串形式 * path:文件保 ...

  2. thinkphp实现文件上传

    文件上传详细讲解 http://www.thinkphp.cn/info/194.html 上传根目录不存在问题解决方法 http://www.thinkphp.cn/topic/10779.html

  3. ThinkPHP之文件上传

    在项目其中.我们有的时候需要上传图片的功能.简单的从面相过程的方法是相对较为复杂的,要一步一步的来.假设用框架的话,相对就简单了很多,主要就是方法以及每个变量所代表的意义,然后就是一些注意的地方了. ...

  4. ThinkPHP3.2.3多文件上传,文件丢失问题的解决

    描述 thinkphp多文件上传时,有些时候会出现文件丢失的情况.比如上传多个图片,最终只上传了一个图片.本地测试的时候是正常的,但上传到服务器上就会出现丢失文件这种情况. 原因 查看tp上传类(Th ...

  5. ThinkPHP讲解(十一)——验证码和文件上传

    一.验证码 1.页面前端显示 (验证码是图片标签,来源是控制器里的yzm()操作方法) <h1>登录</h1> <form action="__ACTION__ ...

  6. PHP之ThinkPHP框架(验证码、文件上传、图片处理)

     验证码 验证码是框架自带有的,比之前使用GD库简单方便许多,其实现原理基本相似,都是生成图片,保存验证码值到Session中,表单提交验证码,然后进行值的对比验证. 简单的显示: <form ...

  7. 6月19 使用tp框架生成验证码及文件上传

    ThinkPHP中自带能生成验证码的类:ThinkPHP/Library/Think/Verify.class.php 默认情况下,验证码的字体是随机使用 ThinkPHP/Library/Think ...

  8. ThinkPHP3验证码、文件上传、缩略图、分页(自定义工具类、session和cookie)

    验证码 TP框架中自带了验证码类 位置:Think/verify.class.php 在LoginController控制器中创建生存验证码的方法 login.html登陆模板中 在LoginCont ...

  9. THINKPHP源码学习--------文件上传类

    TP图片上传类的理解 在做自己项目上传图片的时候一直都有用到TP的上传图片类,所以要进入源码探索一下. 文件目录:./THinkPHP/Library/Think/Upload.class.php n ...

随机推荐

  1. UVa11248 Frequency Hopping(最大流+最小割)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=33206 [思路] 最大流最小割. 可以确定的是如果不可行需要修改的 ...

  2. nyist 58 最小步数 BFS

    最少步数 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0 ...

  3. 《University Calculus》-chape4-导数的应用-极值点的二阶导数检验法

    函数凹凸性检验: 很容易看到,观察类似抛物线这类曲线,能够看到它们有一个向上凹或者向下凹的这样一个过程,而我们将这个过程细化并观察一系列点的导数的变化情况我们给出如下的定义: (1)如果函数图像在区间 ...

  4. The Minimum Length - HUST 1010(求最小循环节)

    题意:有个一字符串A(本身不是循环串),然后经过很多次自增变成AAAAA,然后呢从自增串里面切出来一部分串B,用这个串B求出来A的长度.   分析:其实就是求最小循环节.......串的长度 - 最大 ...

  5. Ueditor 1.4.3 jsp utf-8版图片上传问题

  6. call, apply的用法意义以及区别是什么

    call和apply没有什么大的区别,两者的作用都是:改变对象的this指向的内容. 他们的写法不同,如下: func.call(func1, var1, var2, var3); func.appl ...

  7. 一些正则在js使用方法

    输入框直接正则判断 <input type="password" name="pwd" placeholder="密码只能以数字\英文\@\.& ...

  8. 基于RMAN的异机数据库克隆(rman duplicate)

    对于基于生产环境下的数据库的版本升级或者测试新的应用程序的性能及其影响,备份恢复等等,我们可以采取从生产环境以克隆的方式将其克隆到本地而不影响生产数据库的正常使用.实现这个功能我们可以借助rman d ...

  9. mongoDB的基本使用----飞天博客

    Mongo的介绍:这个mongoDB官网说的好啊,MongoDB是一个开源的基于document的数据库,并且是优秀的NoSQL数据库,并且它是用C++写滴哈,非常有效率.一些什么特点呢? 全索引支持 ...

  10. jQuery Ajax 实例 具体介绍$.ajax、$.post、$.get的使用

    Jquery在异步提交方面封装的非常好.直接用AJAX非常麻烦须要处理浏览器之间的兼容问题,Jquery大大简化了我们的这些操作操作.不用在考虑浏览器这方面的问题,能够直接使用! $.post.$.g ...