你现在的位置:首页 > PHP网站建设知识库 > ecmall > 正文

ecmall商品分类后台上传缩略图

1. 先在gcategory 分类表中新建分类缩略图字段“cate_img” varchar 型,255,允许为空
2. 在后台的编辑页面添加上传功能
2.1 在后台html做个上传位置展示:打开admin\templates\gcategory.form.html 文件,<tr>
                <th class="paddingT15">
                    <label for="parent_id">{$lang.parent_id}:</label></th>
                <td class="paddingT15 wordSpacing5">
                    <select id="parent_id" name="parent_id"><option value="0">{$lang.select_pls}</option>{html_options options=$parents selected=$gcategory.parent_id}</select> <label class="field_notice">{$lang.parent_id}</label>               </td>
            </tr>
后面加上如下代码:
<tr>
                <th class="paddingT15">
                    {$lang.uploaded_imageadd}:</th>
                <td class="paddingT15 wordSpacing5">
                    <input class="infoTableFile2" id="cate_img" type="file" name="cateimg" />
                    <label class="field_notice"></label>
                </td>
            </tr>
//图片上传功能
 
                      {if $gcategory.cate_img}
            <tr>
                <th class="paddingT15">
                </th>
                <td class="paddingT15 wordSpacing5">
                <img src="{$gcategory.cate_img}" class="makesmall" max_width="120" max_height="90" />
                </td>
            </tr>
            {/if}
//如果数据库有图片显示图片
 
2.2   php页面处理上传功能提交到数据库,并保存位置:
打开admin\app\gcategory.app.php
 
2.2.1          在下面声明上传处理函数
        function _upload_ad($id)
    {
        $file = $_FILES['cateimg'];
        if ($file['error'] == UPLOAD_ERR_NO_FILE) // sunkang没有文件被上传
        {
            return '';
        }
        import('uploader.lib');             //sunkang导入上传类
        $uploader = new Uploader();
        $uploader->allowed_type(IMAGE_FILE_TYPE); //sunkang限制文件类型
        $uploader->addFile($_FILES['cateimg']);//上传logo
        if (!$uploader->file_info())
        {
            $this->show_warning($uploader->get_error() , 'go_back', 'index.php?app=gcategory&amp;act=edit&amp;id=' . $id);
            return false;
        }
       
        $uploader->root_dir(ROOT_PATH);
 
       
        if ($file_path = $uploader->save('data/files/system', $id))   //sunkang保存到指定目录,并以指定文件名店铺id存储
        {
            return $file_path;
        }
        else
        {
            return false;
        }
}
 
2.2.2 找到编辑function edit() 在
 
            $gcategory = $this->_gcategory_mod->get_info($id);
            if (!$gcategory)
            {
                $this->show_warning('gcategory_empty');
                return;
            }
下面添加:
if ($gcategory['cate_img'])
            {
                $gcategory['cate_img']  =   dirname(site_url()) . "/" . $gcategory['cate_img'];
            }
2.2.3找到编辑function edit() 的else 里
$data = array(
                'cate_name'  => $_POST['cate_name'],
                'parent_id'  => $_POST['parent_id'],
                'sort_order' => $_POST['sort_order'],
                'if_show'    => $_POST['if_show'],
            );
后面加上:
$cateimg   =   $this->_upload_ad($id);
                     $data['cate_img'] = $cateimg;
获取数据库数据。
这样就完成后台上传功能了,前台显示和调用 cat_img的字段就可以了,在此不赘述了。