《html》

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>相册添加</title>
</head>
<body>
    <center>
    <!--U方法 : {:U('控制器名/方法名')}-->
    <form action="{:U('Indexdo/add_do')}" method="post" enctype="multipart/form-data">
        <table border="1">
            <tr>
                <td>相册名称</td>
                <td><input type="text" name="photo_name"></td>
            </tr>
            <tr>
                <td>相册简介</td>
                <td>
                    <textarea name="photo_desc" id="" cols="30" rows="10">
                    </textarea>
                </td>
            </tr>
            <tr>
                <td>相册封面</td>
                <td><input type="file" name="img"></td>
            </tr>
            <tr>
                <td colspan="2">
                <input type="submit" value="创建相册">
                </td>
            </tr>
        </table>
    </form>
    </center>
</body>
</html>

《控制器》

//添加数据入库

public  function  add_do(){
       $photo = D('Photo');

$data['photo_name']  = I("post.photo_name");
       $data['photo_desc']  =I("post.photo_desc");
       $file = $_FILES['img'];
       $img_info  = $this->upload($file);

$img  = $this->water($img_info);
       $data['photo_img'] =  $img;
       $data['create_time'] = date("Y-m-d H:i:s",time());
       $rest = $photo->add($data);
       if($rest){

$this->success('添加成功',U('Indexdo/show'),3);
       }else{

$this->error('添加失败');
       }
    }

//控制器里文件的上传

public function upload(){   
        $upload = new \Think\Upload();// 实例化上传类 
        $upload->maxSize   =     3145728 ;// 设置附件上传大小 
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->savePath  =      './Public/Uploads/'; // 设置附件上传目录  
        $upload->rootPath  =     './'; 
        // 上传文件  
        $info   =   $upload->upload();   
        if(!$info) {// 上传错误提示错误信息  
        $this->error($upload->getError());  
        }else{// 上传成功   
          return $info;
        }

}
//将上面的文件上传方法经过水印方法加工
     public  function  water($img_info){
        $img = $img_info['img']['savepath'].$img_info['img']['savename'];
         $image = new \Think\Image();
          // 在图片右下角添加水印文字 ThinkPHP 并保存为new.jpg
         $water_img  = $img_info['img']['savepath'].'water_'.$img_info['img']['savename'];
         $image->open($img)->text('ThinkPHP','./1.ttf',20,'#000000',\Think\Image::IMAGE_WATER_SOUTHEAST)->save($water_img); 
        return  $water_img;
     }

tp3.2水印上传文件的更多相关文章

  1. TP3.2批量上传文件(图片),解决同名冲突问题

    1.html <form action="{:U('Upload/index')}" enctype="multipart/form-data" meth ...

  2. tp3.2 上传文件及下载文件

    公共方法 UploadFile.class.php() // 开始 , , , ,];];,; ;; ::::::;,) {//文件上传失败 //捕获错误代码$this->error($file ...

  3. 上传文件 file upload 学习笔记

    这里我只会说说一些完成 file upload 的基础 API. 很多项目我们需要上传文件. 有简单的 input file, 有需要验证的,有需要压缩的(img),有需要分段的(video),有需要 ...

  4. PHP开发-上传文件

    <?php /****************************************************************************** 参数说明: $max_ ...

  5. 【.NET】上传文件,生成缩略图

    类名:Upload using System; using System.Collections; using System.ComponentModel; using System.Data; us ...

  6. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  7. 三种上传文件不刷新页面的方法讨论:iframe/FormData/FileReader

    发请求有两种方式,一种是用ajax,另一种是用form提交,默认的form提交如果不做处理的话,会使页面重定向.以一个简单的demo做说明: html如下所示,请求的路径action为"up ...

  8. asp.net mvc 上传文件

    转至:http://www.cnblogs.com/fonour/p/ajaxFileUpload.html 0.下载 http://files.cnblogs.com/files/fonour/aj ...

  9. app端上传文件至服务器后台,web端上传文件存储到服务器

    1.android前端发送服务器请求 在spring-mvc.xml 将过滤屏蔽(如果不屏蔽 ,文件流为空) <!-- <bean id="multipartResolver&q ...

随机推荐

  1. 洛谷P2900 [USACO08MAR]土地征用Land Acquisition(斜率优化)

    题意 约翰准备扩大他的农场,眼前他正在考虑购买N块长方形的土地.如果约翰单买一块土 地,价格就是土地的面积.但他可以选择并购一组土地,并购的价格为这些土地中最大的长 乘以最大的宽.比如约翰并购一块3 ...

  2. 用Decorator控制Koa路由

    在Spring中Controller长这样 @Controller public class HelloController{ @RequestMapping("/hello") ...

  3. C# 添加,修改,删除Xml节点

    //添加xml节点    private void AddXml(string image, string title)     {        XmlDocument xmlDoc = new X ...

  4. JS字符串替换(jQuery)

    ①自己封装的一个方法String.format String.format = function() { var s = arguments[0]; for (var i = 0; i < ar ...

  5. 常用linux基础命令(持续更新...)

    删除 空目录 rmdir非空目录 rm -rf 目录名字-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 删除文件命令rm -f 文件名将会强行删除文件,且无提 ...

  6. P2891 [USACO07OPEN]吃饭Dining 最大流

    \(\color{#0066ff}{ 题目描述 }\) 有F种食物和D种饮料,每种食物或饮料只能供一头牛享用,且每头牛只享用一种食物和一种饮料.现在有n头牛,每头牛都有自己喜欢的食物种类列表和饮料种类 ...

  7. 模仿 spring IOC Annotation版自动装配

    spring 有两大核心 IOC和AOP.  IOC (inversion of control) 译为 控制反转,也可以称为 依赖注入 ; AOP(Aspect Oriented Programmi ...

  8. [ZJOI2009]狼和羊的故事 BZOJ1412

    题目描述 “狼爱上羊啊爱的疯狂,谁让他们真爱了一场:狼爱上羊啊并不荒唐,他们说有爱就有方向......” Orez听到这首歌,心想:狼和羊如此和谐,为什么不尝试羊狼合养呢?说干就干! Orez的羊狼圈 ...

  9. Educational Codeforces Round 11 B

    Description Consider 2n rows of the seats in a bus. n rows of the seats on the left and n rows of th ...

  10. HMAC算法加密

    /** * HMAC算法加密 * @param message 待加密信息 * @param key 密钥 * @return */ public static String HmacSHA256(b ...