zoukankan      html  css  js  c++  java
  • 织梦会员中心提取内容第一个图片为缩略图和自动添加水印问题

    dedecms程序的会员中心默认是没有自动提取缩略图和添加水印功能的,想要开启的话,需要修改会员中心文件,下面的方法以文章模型修改。

    会员中心提取内容第一个图片为缩略图

    • /member/article_add.php
    • /member/article_edit.php

    这2个文件里都要找到

    $body = AnalyseHtmlBody($body, $description);

    整行改成

    $body = AnalyseHtmlBody($body, $description, $litpic);

    再打开 /member/inc/inc_archives_functions.php 找到

    function AnalyseHtmlBody($body, &$description, $dtype='')

    整行改成

    function AnalyseHtmlBody($body, &$description, &$litpic, $dtype='')

    继续找到

    $body = addslashes($body);

    在它的上面加入

    //自动获取缩略图
    if($litpic=='')
    {
    	$litpic = GetDDImgFromBody($body);
    
    }

    最后,在这个php文件的最下面加入2个函数

    /**
     *  取第一个图片为缩略图
     *
     * @access    public
     * @param     string  $body  文档内容
     * @return    string
     */
    function GetDDImgFromBody(&$body)
    {
        $litpic = '';
        preg_match_all("/(src)=["|'| ]{0,}([^>]*.(gif|jpg|bmp|png))/isU",$body,$img_array);
        $img_array = array_unique($img_array[2]);
        if(count($img_array)>0)
        {
            $picname = preg_replace("/["|'| ]{1,}/", '', $img_array[0]);
            if(preg_match("#_lit.#", $picname)) $litpic = $picname;
            else $litpic = GetDDImage('ddfirst', $picname,1);
        }
        return $litpic;
    }
    
    /**
     *  获得缩略图
     *
     * @access    public
     * @param     string  $litpic  缩略图
     * @param     string  $picname  图片名称
     * @param     string  $isremote  是否远程
     * @return    string
     */
    function GetDDImage($litpic, $picname, $isremote)
    {
        global $cuserLogin,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir,$ddcfg_image_dir,$cfg_addon_savetype;
        $ntime = time();
        if( ($litpic != 'none' || $litpic != 'ddfirst') && 
         !empty($_FILES[$litpic]['tmp_name']) && is_uploaded_file($_FILES[$litpic]['tmp_name']))
        {
            //如果用户自行上传缩略图
            $istype = 0;
            $sparr = Array("image/pjpeg", "image/jpeg", "image/gif", "image/png");
            $_FILES[$litpic]['type'] = strtolower(trim($_FILES[$litpic]['type']));
            if(!in_array($_FILES[$litpic]['type'], $sparr))
            {
                ShowMsg("上传的图片格式错误,请使用JPEG、GIF、PNG格式的其中一种!","-1");
                exit();
            }
            $savepath = $ddcfg_image_dir.'/'.MyDate($cfg_addon_savetype, $ntime);
    
            CreateDir($savepath);
            $fullUrl = $savepath.'/'.dd2char(MyDate('mdHis', $ntime).$cuserLogin->getUserID().mt_rand(1000, 9999));
            if(strtolower($_FILES[$litpic]['type']) == "image/gif")
            {
                $fullUrl = $fullUrl.".gif";
            }
            else if(strtolower($_FILES[$litpic]['type']) == "image/png")
            {
                $fullUrl = $fullUrl.".png";
            }
            else
            {
                $fullUrl = $fullUrl.".jpg";
            }
    
            @move_uploaded_file($_FILES[$litpic]['tmp_name'], $cfg_basedir.$fullUrl);
            $litpic = $fullUrl;
    
            if($GLOBALS['cfg_ddimg_full']=='Y') @ImageResizeNew($cfg_basedir.$fullUrl,$cfg_ddimg_width,$cfg_ddimg_height);
            else @ImageResize($cfg_basedir.$fullUrl,$cfg_ddimg_width,$cfg_ddimg_height);
            
            $img = $cfg_basedir.$litpic;
    
        }
        else
        {
    
            $picname = trim($picname);
            if($isremote==1 && preg_match("#^http://#i", $picname))
            {
                $litpic = $picname;
                $ddinfos = GetRemoteImage($litpic, $cuserLogin->getUserID());
    
                if(!is_array($ddinfos))
                {
                    $litpic = '';
                }
                else
                {
                    $litpic = $ddinfos[0];
                    if($ddinfos[1] > $cfg_ddimg_width || $ddinfos[2] > $cfg_ddimg_height)
                    {
                        if($GLOBALS['cfg_ddimg_full']=='Y') @ImageResizeNew($cfg_basedir.$litpic,$cfg_ddimg_width,$cfg_ddimg_height);
                        else @ImageResize($cfg_basedir.$litpic,$cfg_ddimg_width,$cfg_ddimg_height);
                    }
                }
            }
            else
            {
                if($litpic=='ddfirst' && !preg_match("#^http://#i", $picname))
                {
                    $oldpic = $cfg_basedir.$picname;
                    $litpic = str_replace('.', '-lp.', $picname);
                    if($GLOBALS['cfg_ddimg_full']=='Y') @ImageResizeNew($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);
                    else @ImageResize($oldpic,$cfg_ddimg_width,$cfg_ddimg_height,$cfg_basedir.$litpic);
                    if(!is_file($cfg_basedir.$litpic)) $litpic = '';
                }
                else
                {
                    $litpic = $picname;
                    return $litpic;
                }
            }
        }
        if($litpic=='litpic' || $litpic=='ddfirst') $litpic = '';
        return $litpic;
    
    }

    提取内容第一个图片为缩略图 完成。

    会员中心上传的图片自动加水印

    打开 /member/inc/archives_check.php 找到

    $litpic = MemberUploads('litpic', '', $cfg_ml->M_ID, 'image', '', $cfg_ddimg_width, $cfg_ddimg_height, FALSE);

    改成

    $litpic = MemberUploads('litpic', '', $cfg_ml->M_ID, 'image', '', $cfg_ddimg_width, $cfg_ddimg_height, TRUE);

    打开 /member/inc/archives_check_edit.php 找到

    $litpic = MemberUploads('litpic', $oldlitpic, $mid, 'image', '', $cfg_ddimg_width, $cfg_ddimg_height, false, $isadmin);

    改成

    $litpic = MemberUploads('litpic', $oldlitpic, $mid, 'image', '', $cfg_ddimg_width, $cfg_ddimg_height, true, $isadmin);

    打开 /include/helpers/upload.helper.php 找到

    else if($water)

    改成

    if($water)
  • 相关阅读:
    简明Python3教程 12.问题解决
    简明Python3教程 11.数据结构
    【SPOJ 694】Distinct Substrings
    【codeforces Manthan, Codefest 17 C】Helga Hufflepuff's Cup
    【CF Manthan, Codefest 17 B】Marvolo Gaunt's Ring
    【CF Manthan, Codefest 17 A】Tom Riddle's Diary
    【SPOJ 220】 PHRASES
    【POJ 3261】Milk Patterns
    【POJ 3294】Life Forms
    【POJ 1226】Substrings
  • 原文地址:https://www.cnblogs.com/dedehtml/p/9901396.html
Copyright © 2011-2022 走看看