thinkPHP+uploadify 实现图片上传预览,弄的不完善,求指教如何写入数据库!

浏览:1647 发布日期:2015/08/03 分类:技术分享
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>
<script src="__JS__/baidu-jquery-1.9.0.js" type="text/javascript"></script>
<script src="__JS__/jquery.uploadify.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="__CSS__/uploadify.css">
<style type="text/css">
body {
    
    font: 13px Arial, Helvetica, Sans-serif;
}
#previewImgs{
    width:350px;
    height:200px;
    list-style:none;
}
#previewImgs li{
    max-width:350px;
    height:auto;
    float:left;
    margin:3px;
}
uploadify-queue{ display: none;

    }
</style>
</head>

<body>
    <form>
        <div id="queue"></div>
        <input id="file_upload" name="file_upload" type="file" multiple="multiple" />
        <!--<a href="javascript:$('#file_upload').uploadify('upload', '*')">开始</a>-->
        <!--<a href="javascript:$('#file_upload').uploadify('cancel', '*')">取消</a>-->
        <div class="preview">
            <ul id="previewImgs"></ul>
        </div>
        <textarea name="uploadfileurl" style="display:none;" id="saveurl"></textarea>
    </form>

    <script type="text/javascript">
        <?php $timestamp = time();?>
        $(function() {
            $('#file_upload').uploadify({
                'formData'     : {
                    'timestamp' : '<?php echo $timestamp;?>',
                    'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
                },
                'auto':true, //是否自动开始上传
                'debug' : false,// 是否开启浏览器调试
                'buttonText' : '请选择图片', // 上传按钮文字
                'fileTypeExts':'*.jpg;*.gif;*.bmp;*.png;*.jpeg', //允许的图片类型
                'fileSizeLimit' : '2MB', // 允许的单张图片的自大值
                'multi' : true, //是否允许多张图片一起上传
                'uploadLimit':10,
                'removeTimeout':0.5,
                'swf'      : '__JS__/uploadify.swf',
                'uploader' : '{:U("Index/upload")}',   //上传的方法,
                'onUploadSuccess' : function(file,data,response){
                    var obj = jQuery.parseJSON(data);
                    var imgstr = '<li><img src="'+obj.savepath+'" alt="预览图片" width="80" height="70"><a onclick=goDel(this,"'+obj.savepath+'")>删除</a></li>';
                    $("#previewImgs").append(imgstr);
                    $("#saveurl").append(obj.savepath+'|');
                }

            });
        });

    // ajax 删除预览列表中的一张图片
    function goDel(objdom,src){
        //先执行ajax删除图片,删除成功之后 删除预览图片
        //alert(src);
        $(objdom).parent().remove();
        //删除预览图片之后还要 修改 id="saveurl" 隐藏域的值,这个是写入到数据库的图片路径
        return false;
    }
    </script>
</body>
</html>
控制器<?php

namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller {
    public function upload() {
        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 ();
            $path = "/uploadifys./Uploads"; // 设置项目下上传图片的保存路径
                                            // 判断是否有图
            if ($images) {
                $info = $images ['Filedata'] ['savepath'] . $images ['Filedata'] ['savename'];
                $photo = M ( 'photo' );
                $res = $photo->select ();
                //$this->display();
                // 返回文件地址和名给JS作回调用
                $data = array (
                        'code' => 200,
                        'savepath' => $path . "/" . $images ['Filedata'] ['savepath'] . $images ['Filedata'] ['savename'] 
                );
            } else {
                $data = array (
                        'code' => 201,
                        'errorMsg' => 'Invalid file type.' 
                );
            }
            echo json_encode ( $data );
        }
    }
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>