1. 程式人生 > >Thinkphp框架圖片上傳例項

Thinkphp框架圖片上傳例項

    複製程式碼   【原文轉載自:https://www.cnblogs.com/guoyachao/p/6282861.html】
<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8">
    <title>測試頁面</title>
    <link rel="stylesheet" href="__PUBLIC__/Uploadify/uploadify.css">
    <js file='__PUBLIC__/Uploadify/jquery-1.9.1.min.js'/>
    <js file='__PUBLIC__/Uploadify/jquery.uploadify.min.js'/>
</head>
<body>
<p>1.自帶上傳類</p>
<div class="file_holder">
    <form action="__URL__/upload" enctype="multipart/form-data" method="post" >
    <input type="file" name="photo" />
    <input type="submit" value="提交" >
    </form>
</div>
<br>
<p>2.uploadify外掛</p>
<div>
    <img id="img" src="http://www.thinkphp.cn/Public/new/img/header_logo.png" width="130" height="130" border="0" />
    <input id="file_upload" name="file_upload" type="file" multiple="true" value="" />
</div>
<p>圖片的輸出</p>
<div>
    <volist name="res" id="vo">
        <img src="__ROOT__/Uploads/{$vo.goods_img}" alt="" heigh="130" width="130">
    </volist>
</div>
</body>
<script type="text/javascript">
//上傳外掛
$(function() {
    $('#file_upload').uploadify({
        'swf'      : '__PUBLIC__/uploadify/uploadify.swf',//進度動畫
        'uploader' : '{:U("Index/uploadify")}',
        'width' : 120,    //上傳按鈕寬度
        'height' : 30,    //上傳按鈕高度
        //'buttonText' : '上傳頭像',//提示
        'buttonImage' : '__PUBLIC__/Uploadify/browse-btn.png',    //上傳按鈕背景圖地址 經測試火狐未安裝flash圖片顯示錯誤
        'fileTypeDesc' : 'Image File',    //選擇檔案提示文字
        'fileTypeExts' : '*.jpeg; *.jpg; *.png; *.gif',    //允許選擇的檔案型別
        'onUploadSuccess' : function(file, data, response) {
            $('#img').attr('src','__ROOT__/Uploads/'+ data);
        },
    });
});
</script>
</html>
複製程式碼
控制器程式碼

<?php
/**
 * 日    期:2017-1-13
 * 版    本:1.0.0
 * 功能說明:圖片上傳控制器演示。
 *
 **/
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{
    public function index(){
        $this->display();
    }
    //自帶上傳類
    public function upload(){
        $upload = new \Think\Upload();// 例項化上傳類
        $upload->maxSize   =     3145728 ;// 設定附件上傳大小
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg','pdf');// 設定附件上傳型別
        $upload->rootPath  =     './Uploads/'; // 設定附件上傳根目錄
        $upload->savePath  =     ''; // 設定附件上傳(子)目錄
        // 上傳檔案
        $info   =   $upload->upload();
        //print_r($info);
        if(!$info) {// 上傳錯誤提示錯誤資訊
            $this->error($upload->getError());
        }else{// 上傳成功
            $this->success('上傳成功!');
            foreach($info as $file){
                $bigimg = $file['savepath'].$file['savename'];
            }
        }
        $model = M('img');
        // 取得成功上傳的檔案資訊
        $info = $upload->upload();
        // 儲存當前資料物件
        $data['goods_img'] = $bigimg;
        $model->add($data);
    }
    //外掛影象上傳
    public function uploadify(){
        if (!empty($_FILES)) {
            //圖片上傳設定
            $config = array(   
                'maxSize'    =>    3145728,
                'savePath'   =>    '',  
                'saveName'   =>    array('uniqid',''),
                'exts'       =>    array('jpg', 'gif', 'png', 'jpeg'),  
                'autoSub'    =>    true,   
                'subName'    =>    array('date','Ymd'),
            );
            $upload = new \Think\Upload($config);// 例項化上傳類
            $images = $upload->upload();
            //判斷是否有圖
            if($images){
                $info=$images['Filedata']['savepath'].$images['Filedata']['savename'];
                //返回檔案地址和名給JS作回撥用
                echo $info;
            }else{
                $this->error($upload->getError());//獲取失敗資訊
            }
        }
        $model = M('img');
        // 儲存當前資料物件
        $data['goods_img'] = $info;
        $model->add($data);
    }

?>
複製程式碼     複製程式碼   【原文轉載自:https://www.cnblogs.com/guoyachao/p/6282861.html】
<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8">
    <title>測試頁面</title>
    <link rel="stylesheet" href="__PUBLIC__/Uploadify/uploadify.css">
    <js file='__PUBLIC__/Uploadify/jquery-1.9.1.min.js'/>
    <js file='__PUBLIC__/Uploadify/jquery.uploadify.min.js'/>
</head>
<body>
<p>1.自帶上傳類</p>
<div class="file_holder">
    <form action="__URL__/upload" enctype="multipart/form-data" method="post" >
    <input type="file" name="photo" />
    <input type="submit" value="提交" >
    </form>
</div>
<br>
<p>2.uploadify外掛</p>
<div>
    <img id="img" src="http://www.thinkphp.cn/Public/new/img/header_logo.png" width="130" height="130" border="0" />
    <input id="file_upload" name="file_upload" type="file" multiple="true" value="" />
</div>
<p>圖片的輸出</p>
<div>
    <volist name="res" id="vo">
        <img src="__ROOT__/Uploads/{$vo.goods_img}" alt="" heigh="130" width="130">
    </volist>
</div>
</body>
<script type="text/javascript">
//上傳外掛
$(function() {
    $('#file_upload').uploadify({
        'swf'      : '__PUBLIC__/uploadify/uploadify.swf',//進度動畫
        'uploader' : '{:U("Index/uploadify")}',
        'width' : 120,    //上傳按鈕寬度
        'height' : 30,    //上傳按鈕高度
        //'buttonText' : '上傳頭像',//提示
        'buttonImage' : '__PUBLIC__/Uploadify/browse-btn.png',    //上傳按鈕背景圖地址 經測試火狐未安裝flash圖片顯示錯誤
        'fileTypeDesc' : 'Image File',    //選擇檔案提示文字
        'fileTypeExts' : '*.jpeg; *.jpg; *.png; *.gif',    //允許選擇的檔案型別
        'onUploadSuccess' : function(file, data, response) {
            $('#img').attr('src','__ROOT__/Uploads/'+ data);
        },
    });
});
</script>
</html>
複製程式碼
控制器程式碼

<?php
/**
 * 日    期:2017-1-13
 * 版    本:1.0.0
 * 功能說明:圖片上傳控制器演示。
 *
 **/
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller{
    public function index(){
        $this->display();
    }
    //自帶上傳類
    public function upload(){
        $upload = new \Think\Upload();// 例項化上傳類
        $upload->maxSize   =     3145728 ;// 設定附件上傳大小
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg','pdf');// 設定附件上傳型別
        $upload->rootPath  =     './Uploads/'; // 設定附件上傳根目錄
        $upload->savePath  =     ''; // 設定附件上傳(子)目錄
        // 上傳檔案
        $info   =   $upload->upload();
        //print_r($info);
        if(!$info) {// 上傳錯誤提示錯誤資訊
            $this->error($upload->getError());
        }else{// 上傳成功
            $this->success('上傳成功!');
            foreach($info as $file){
                $bigimg = $file['savepath'].$file['savename'];
            }
        }
        $model = M('img');
        // 取得成功上傳的檔案資訊
        $info = $upload->upload();
        // 儲存當前資料物件
        $data['goods_img'] = $bigimg;
        $model->add($data);
    }
    //外掛影象上傳
    public function uploadify(){
        if (!empty($_FILES)) {
            //圖片上傳設定
            $config = array(   
                'maxSize'    =>    3145728,
                'savePath'   =>    '',  
                'saveName'   =>    array('uniqid',''),
                'exts'       =>    array('jpg', 'gif', 'png', 'jpeg'),  
                'autoSub'    =>    true,   
                'subName'    =>    array('date','Ymd'),
            );
            $upload = new \Think\Upload($config);// 例項化上傳類
            $images = $upload->upload();
            //判斷是否有圖
            if($images){
                $info=$images['Filedata']['savepath'].$images['Filedata']['savename'];
                //返回檔案地址和名給JS作回撥用
                echo $info;
            }else{
                $this->error($upload->getError());//獲取失敗資訊
            }
        }
        $model = M('img');
        // 儲存當前資料物件
        $data['goods_img'] = $info;
        $model->add($data);
    }

?>
複製程式碼