《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. 第一章:初识JAVA

    一:计算机语言发展史 机器语言:典型的二进制文件和计算机交流. 汇编语言: 通过大量的标识符表示一些基本操作来和计算机做交流. 高级语言:通过常见的英语指令来编写程序,完成沟通 常见高级语言 Java ...

  2. POI操作Excel:cell的背景颜色类型

    POI中背景颜色设置方法如下: HSSFCellStyle style = workbook.createCellStyle(); style.setFillBackgroundColor(HSSFC ...

  3. Android自动化----adb shell,appium,uiautomator2

    1.区别 1,adb shell脚本的方式 不但可以在有电脑的情况下使用,通过数据线连接电脑然后adb shell命令,而且还可以打包成app,在手机的终端使用adb shell命令. 2,appiu ...

  4. P3193 [HNOI2008]GT考试

    传送门 容易看出是道DP 考虑一位一位填数字 设 f [ i ] [ j ] 表示填到第 i 位,在不吉利串上匹配到第 j 位时不出现不吉利数字的方案数 设 g [ i ] [ j ] 表示不吉利串匹 ...

  5. POJ-2112 Optimal Milking(floyd+最大流+二分)

    题目大意: 有k个挤奶器,在牧场里有c头奶牛,每个挤奶器可以满足m个奶牛,奶牛和挤奶器都可以看成是实体,现在给出两个实体之间的距离,如果没有路径相连,则为0,现在问你在所有方案里面,这c头奶牛需要走的 ...

  6. Patting Heads

    Description It's Bessie's birthday and time for party games! Bessie has instructed the N (1 < N & ...

  7. 权限知识中的AIX ACL

    Aix ACL是对标准权限位的扩展.通过修改分配给个人或组的标准权限,对每个文件或目录进行更精细的控制. 对每个组或用户,有3种权限分配情况: PERMIT : 准许对文件或目录的特定权限. DEMY ...

  8. day_03 字符串

    1.python基础数据类型 1.int整数 2.str 字符串.(不会用字符串保存大量数据) 3.bool 布尔值. TRUE,FALSE 4.list 列表(重点) 存放大量数据 用[]表示 5. ...

  9. redis安装及应用

    Redis安装及主从配置 server2,3,4. 安装 tar zxf redis-4.0.1.tar.gz cd redis-4.0.1 yum install -y gcc make make ...

  10. linux及hadoop基本操作

    cd 命令:切换目录 () 切换到目录“/usr/local” ) 切换到当前目录的上一级目录   ) 切换到当前登录 Linux 系统的用户的自己的主文件夹    ls 命令:查看文件与目录   ...