emlog网站非插件添加海报方法

emlog网站非插件添加海报方法

首先说说下面这两个文件

phpqrcode.php qrcode.php这两个文件必须要用到 具体什么用处你不需要知道 

下方有集成包 大家想加到其他主题的可以下载看研究

WEEX交易所已上线平台币 WEEX Token (WXT)。WXT 作为 WEEX 交易所生态系统的基石,主要用于激励 WEEX 交易平台社区的合作伙伴、贡献者、先驱和活跃成员。

新用户注册 WEEX 账户、参与交易挖矿及平台其他活动,均可免费获得 WXT 空投奖励。

点此注册 WEEX 账户,即刻领取 1,600 WXT 新用户专属空投

步骤1

在你的模板创建个php文件例如我的 haibao.php 创建好后你想放在那放在那 要记住路劲 需要用到

<div class="dialog_overlay"></div>  <div class="bigger-share">      <div class="row-share">          <div class="img-share">              <img src="<?php echo poster_share($logid, Url::log($logid), img_url($thumbs,$logid,$log_content), $log_title, $date, $blogname, $bloginfo);?>" alt="<?php echo $log_title; ?>">          <div class="action-haibao">            <a href="<?php echo poster_share($logid, Url::log($logid), img_url($thumbs,$logid,$log_content), $log_title, $date, $blogname, $bloginfo);?>" download="<?php echo $log_title; ?>"><i class="fa fa-share-alt"></i></a>      </div>      </div>             <div class="share-item">              <h3>分享文本海报</h3>     <div class="button">      <a href="javascript:;" onclick="shareToWeibo('<?php echo Url::log($logid);?>','<?php echo $log_title;?>','<?php echo Url::log($logid);?>','')" title="分享到微博" class="btn btn-danger"><i class="fa fa-weibo"></i> 新浪微博</a>              </div>              <div class="button">       <a  href="javascript:;" onclick="shareToQzone('<?php echo Url::log($logid);?>','<?php echo $log_title;?>','<?php echo Url::log($logid);?>')" title="分享到QQ好友" class="btn btn-info"> <i class="fa fa-qq"></i> QQ好友</a>              </div>              <div class="button">            <a  href="javascript:;" onclick="shareToQzone('<?php echo Url::log($logid);?>','<?php echo $log_title;?>','<?php echo Url::log($logid);?>')" title="分享到QQ空间" class="btn btn-warning"> <i class="fa fa-qzone"></i> QQ空间</a>              </div>              <div class="button">                  <a href="<?php echo poster_share($logid, Url::log($logid), img_url($thumbs,$logid,$log_content), $log_title, $date, $blogname, $bloginfo);?>" download="<?php echo $log_title; ?>" class="btn btn-primary">                      <i class="fa fa-cloud-download"></i> 下载海报</a>              </div>        </div>          <span class="share-close">              <i class="fa fa-close"></i>          </span>    <div class="text-weixin">                      <p>长按图片转发给朋友</p>            </div>      </div>  </div>

创建好后开始第二步骤

步骤2

打开你的文章页 一般都是 cho_log.php 引入即可 

引入代码:

<?php include View::getView('inc/haibao');?>

打开echo_log.php放入加载点

<a class="share-haibao"><i class="fa fa-share-alt"></i> 生成海报</a>

打开heeder.php载入

require_once View::getView('functions');

打开footer.php放在任意地方 即可

<?php include View::getView('inc/haibao');?>

放入js fee模板无需放入请忽略这步

$('.share-haibao').click(function() {     $('.bigger-share').addClass('haibao-on');              $('.dialog_overlay').show();     $('.dialog_overlay').click(function() {     $('.bigger-share').removeClass('haibao-on');              $('.dialog_overlay').hide();     });          });   $('.share-close').click(function() {     $('.bigger-share').removeClass('haibao-on');              $('.dialog_overlay').hide();     });

步骤3

新建一个functions.php放到模板目录里

<?php   /**   * 局部函数库   */  if(!defined('EMLOG_ROOT')) {exit('error!');}      //获取图片  function img_url($thumburl,$gid,$content,$open=false){   if($thumburl){    return $thumburl;   }elseif(img_zw($content)){    return img_zw($content);   }elseif(img_fj($gid) && $open){    return img_fj($gid);   }else{    return TEMPLATE_URL.'images/post.jpg';   }  }      //抓取远程连接内容  function myCurl($url, $ip = '114.114.114.114'){      $ch = curl_init();     // Curl 初始化        $timeout = 30;     // 超时时间:30s        $ua='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36';    // 伪造抓取 UA        curl_setopt($ch, CURLOPT_URL, $url);              // 设置 Curl 目标        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);      // Curl 请求有返回的值        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);     // 设置抓取超时时间        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);        // 跟踪重定向        curl_setopt($ch, CURLOPT_ENCODING, "");    // 设置编码        curl_setopt($ch, CURLOPT_REFERER, $url);   // 伪造来源网址        curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$ip, 'CLIENT-IP:'.$ip));  //伪造IP        curl_setopt($ch, CURLOPT_USERAGENT, $ua);   // 伪造ua         curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); // 取消gzip压缩        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);        $content = curl_exec($ch);         curl_close($ch);    // 结束 Curl        return $content;    // 函数返回内容    }  //海报图生成  function createSharePng($gData,$fileName){   //创建画布   $width = 600;   $height = 800;   $im = imagecreatetruecolor($width, $height);   //填充画布背景色   $color = imagecolorallocate($im, 255, 255, 255);   imagefill($im, 0, 0, $color);   //字体文件   $font_file_1 = EMLOG_ROOT."/content/templates/fee/static/hanyixizhongyuan.ttf";   $font_file_2 = EMLOG_ROOT."/content/templates/fee/static/Montserrat-Regular.ttf";   //设定字体的颜色   $color_0 = ImageColorAllocate ($im, 0, 0, 0);   $color_255 = ImageColorAllocate ($im, 255, 255, 255);   $color_153 = imagecolorallocate($im, 153, 153, 153);   $color_200 = imagecolorallocate($im, 200, 200, 200);      //图片   $source_path = myCurl($gData["pic"]);   $head_img = imagecreatefromstring($source_path);   $target_height = 480;   $target_width = 600;   $source_info = getimagesizefromstring($source_path);   $source_width = $source_info[0];   $source_height = $source_info[1];   $source_ratio = $source_height / $source_width;   $target_ratio = $target_height / $target_width;   // 源图过高   if ($source_ratio > $target_ratio){    $cropped_width = $source_width;    $cropped_height = $source_width * $target_ratio;    $source_x = 0;    $source_y = ($source_height - $cropped_height) / 2;   }   // 源图过宽   elseif ($source_ratio < $target_ratio)   {    $cropped_width = $source_height / $target_ratio;    $cropped_height = $source_height;    $source_x = ($source_width - $cropped_width) / 2;    $source_y = 0;   }// 源图适中   else{    $cropped_width = $source_width;    $cropped_height = $source_height;    $source_x = 0;    $source_y = 0;   }   // 裁剪   $cropped_image = imagecreatetruecolor($cropped_width, $cropped_height);   imagecopy($cropped_image, $head_img, 0, 0, $source_x, $source_y, $cropped_width, $cropped_height);   imagecopyresampled($im, $cropped_image, 0, 0, 0, 0, $target_width, $target_height, $cropped_width, $cropped_height);   imagedestroy($cropped_image);      //时间   $day = date('d', $gData["date"]);   $day_width = imagettfbbox(70, 0, $font_file_2, $day);   $day_width = abs($day_width[2] - $day_width[0]);   $year = date('Y/m', $gData["date"]);   $year_width = imagettfbbox(22, 0, $font_file_2, $year);   $year_width = abs($year_width[2] - $year_width[0]);   $day_left = ($year_width - $day_width) / 2;   //  13   imagettftext($im, 70, 0, 50 + $day_left, 390, $color_255, $font_file_2, $day);   //————————   imageline($im, 50, 405, 50 + $year_width, 405, $color_255);   imageline($im, 50, 406, 50 + $year_width, 406, $color_255);   //  2019/02   imagettftext($im, 22, 0, 50, 440, $color_255, $font_file_2, $year);   //标题   $str = $gData['title'];   if(mb_strlen($str)>16){    $str = mb_substr($str,0,15,"UTF8")."...";   }   imagettftext($im, 24,0, 40, 550, $color_0 ,$font_file_1, $str);   //   imagettftext($im, 15,0, 40, 610, $color_153 ,$font_file_1, $gData["author"]);   //-------------------------------------   $style = array($color_200,$color_200,$color_200,$color_200,$color_200,$color_200,$color_255,$color_255,$color_255,$color_255,$color_255,$color_255);   imagesetstyle($im, $style);   imageline($im, 0, 650, 600, 650, IMG_COLOR_STYLED);   //   imagettftext($im, 18,0, 40, 715, $color_0 ,$font_file_1, $gData["blogname"]);   imagettftext($im, 14,0, 40, 755, $color_153 ,$font_file_1, $gData["bloginfo"]);   //二维码   $qrcode_str = file_get_contents($gData["code"]);   $qrcode_size = getimagesizefromstring($qrcode_str);   $qrcode_img = imagecreatefromstring($qrcode_str);   imagecopyresized($im, $qrcode_img, 460, 670, 0, 0, 110, 110, $qrcode_size[0], $qrcode_size[1]);   //ob_clean();   //输出图片   imagepng ($im,$fileName);   //释放空间   imagedestroy($im);   imagedestroy($head_img);   //return true;  }  //poster  function poster_share($id, $url, $pic, $title, $date, $blogname, $bloginfo){   //图片上传目录   $upload_dir = 'content/uploadfile/fee_file/poster/';   //图片名称      $filename = 'Poster-' . $id . '.png';   //图片地址      $file = EMLOG_ROOT . '/' . $upload_dir . $filename;   //返回浏览连接   $src = BLOG_URL . $upload_dir . $filename;   //判断图片是否存在或已超过15天,创建缓存文件   if( !is_file($file) || ( time() - filemtime($file) ) > 1296000 ){    global $CACHE;    $log_cache_sort = $CACHE->readCache('logsort');     $sort = $log_cache_sort[$id]['name'] ? $log_cache_sort[$id]['name'] : '文章';    global $Tconfig;    $author = '作者:'.$Tconfig['username'].' 发布在「'.$sort.'」';    //二维码    $code = TEMPLATE_URL . 'share/qrcode.php?data=' . $url;    //数据    $gData = [     'pic' => $pic,     'code' => $code,     'title' => $title,     'date' => $date,     'author' => $author,     'blogname' => $blogname,     'bloginfo' => $bloginfo    ];    createSharePng($gData,$file);   }   return $src;  }

步骤4

创建图片上传路劲content/uploadfile/fee_file/poster/

打开content/uploadfile/

创建fee_file然后在打开此文件在创建poster即可

结尾:

方法既然已经发出来了但是可能不怎么完整 一时间想不出来还有啥没写上去 如果有缺少的也不要找我,自己想办法。emlog网站非插件添加海报方法

资源下载

本站资源均来源于网络或网友投稿,部分资源未经测试,难免存在BUG,所有资源只限于学习研究,不得商用。如使用本站下载的资源造成任何损失或发生侵权行为,均与本站无关。如不接受本声明请勿下载!本站资源如有侵权,请联系QQ:497149677核实后立即删除!
最客资源网 » emlog网站非插件添加海报方法