PHP微信柏拉图性格标签生成器源码

简介: 演示参考:http://www.erdangjiade.com/php/1176.html效果图片:前台页面:我的性格标签...

演示参考:http://www.erdangjiade.com/php/1176.html


效果图片:
前台页面:
  1. <!DOCTYPE html>
  2. <html><head>
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0;">
  7. <meta name="format-detection" content="telephone=no">
  8. <title>我的性格标签</title>
  9. <link rel="stylesheet" type="text/css" href="assets/4css.css">
  10. <script type="text/javascript" src="assets/jquery-1.js"></script>
  11. <script type="text/javascript" src="assets/hs_mobiscroll_date.js"></script>
  12. <script type="text/javascript" src="assets/hs_mobiscroll.js"></script>
  13. </head>
  14. <body onload="init()">
  15. <div class="background">
  16.     <div class="name">
  17.         <span class="title">姓名:</span>
  18.         <span class="write-name">
  19.             <input placeholder="请输入姓名(最多4个汉字)" class="user-name" maxlength="4" onblur="checkName()" type="text">
  20.         </span>
  21.     </div>
  22.     <div class="birthday">
  23.         <span class="title">生日:</span>
  24.         <span class="chose-birthday">
  25.             <input readonly="readonly" placeholder="请选择出生日期(阳历生日)" class="user-birthday" id="user_birthday" type="text">
  26.         </span>
  27.     </div>
  28. </div>
  29. <div style="width: 1152px; height: 167.767px; position: absolute; z-index: 10; top: 77%; left: 10%;" class="button" onclick="makePicture()"></div>

  30. <div class="transparent-float"></div>
  31. <div class="float">
  32.     <div style="width: 1353.6px; height: 1748.4px; position: relative; margin-top: 2%; margin-left: 3%;" class="picture-box">
  33.         <span class="close" onclick="closeFloat()"></span>
  34.         <span style="width: 1299.46px; height: 1537.69px; position: absolute; z-index: 1; bottom: 2%; left: 2%;" class="picture">
  35.             <img class="mypicture" src="">
  36.         </span>
  37.         <span style="width: 1299.46px; height: 1537.69px; position: absolute; z-index: 2; top: 2%; left: 2%;" class="scan"></span>
  38.     </div>
  39.     <div style="width: 1353.6px; height: 205.512px; position: relative; margin-top: 5%; left: 3%;" class="text"></div>
  40. </div>

  41. <script type="text/javascript">
  42. $(function () {
  43.     var currYear = new Date().getFullYear();    

  44.     var opt={};
  45.     opt.date = {preset : 'date'};
  46.     opt.default = {
  47.         theme: 'android-ics light', 
  48.         display: 'bottom', 
  49.         mode: 'scroller',
  50.         dateFormat: 'yyyy-mm-dd',
  51.         lang: 'zh',
  52.         showNow: false,
  53.         startYear: currYear - 100,
  54.         endYear: currYear
  55.     };

  56.     $("#user_birthday").mobiscroll($.extend(opt['date'], opt['default']));
  57. });
  58. </script>
  59. <script type="text/javascript" src="assets/4js.js"></script>
  60. </body></html>
复制代码
数据处理:
  1. <?php
  2. if($_SERVER['REQUEST_METHOD'] == 'POST'){
  3.     $weixin = '二当家的素材网';
  4.     extract($_POST);

  5.     $month = intval(substr($birthday,5,2));
  6.     $day = intval(substr($birthday,8,2));
  7.     
  8.     if (empty($name) || $month < 1 || $month > 12 || $day < 1 || $day > 31){
  9.         echo '-1';
  10.         exit();
  11.     }
  12.     
  13.     $signs = array(
  14.         array('20'=>2),
  15.         array('19'=>3),
  16.         array('21'=>4),
  17.         array('20'=>5),
  18.         array('21'=>6),
  19.         array('22'=>7),
  20.         array('23'=>8),
  21.         array('23'=>9),
  22.         array('23'=>10),
  23.         array('24'=>11),
  24.         array('22'=>12),
  25.         array('22'=>1)
  26.     );
  27.     list($start, $num) = each($signs[$month-1]);
  28.     if ($day < $start){
  29.         list($start, $num) = each($signs[($month-2 < 0) ? 11 : $month-2]);
  30.     }

  31.     $basePath = dirname(__FILE__).'/';
  32.     $font1 = $basePath.'assets/font1.ttf';
  33.     $font2 = $basePath.'assets/font2.ttf';
  34.     $font3 = $basePath.'assets/font3.ttf';
  35.     $source = $basePath.'assets/'.$num.'.jpg';
  36.     $water = $basePath.'assets/footer.jpg';
  37.     $savepath = 'images/'.date('Ym');
  38.     $savename = md5($month.$day.$name).'.jpg';
  39.     $savefile = $savepath .'/'. $savename;
  40.     
  41.     if(!is_dir($basePath.$savepath)){
  42.         mkdir($basePath.$savepath,0777,true);
  43.     }
  44.     
  45.     if(file_exists($savefile)){
  46.         echo $savefile;
  47.         exit();
  48.     }
  49.     
  50.     if (!file_exists($source) || !file_exists($water)) {
  51.         echo '-1';
  52.         exit();
  53.     }

  54.     $source = imagecreatefromjpeg($source);
  55.     if (!$source) {
  56.         echo '-1';
  57.         exit();
  58.     }
  59.     $water = imagecreatefromjpeg($water);
  60.     if (!$water) {
  61.         echo '-1';
  62.         exit();
  63.     }
  64.     switch ($num) {
  65.         case 9:
  66.             $x=45;
  67.             $y=238;
  68.         break;
  69.         default:
  70.             $x=120;
  71.             $y=185;
  72.     }
  73.     imagefttext($source, 18, 0, $x, $y, imagecolorallocate($source, 175,152,85), $font1, $month.'月'.$day.'日');
  74.     $length = mb_strlen($name,'utf-8');
  75.     $margin = 120;
  76.     $left = 20;
  77.     if($length <= 4){
  78.         $margin = 140;
  79.         $left = 40;
  80.     }
  81.     for($i = 0; $i < $length; $i++){
  82.         imagefttext($source, 60, 0, $margin * $i + $left, 335, imagecolorallocate($source, 255,255,255), $font2, mb_substr($name,$i,1,'utf-8'));
  83.     }
  84.     imagecopymerge($source, $water, 40, 590, 0, 0, 110, 110, 100);
  85.     imagefttext($source, 17, 0, 175, 630, imagecolorallocate($source, 180,180,180), $font3, '长安识别二维码,生成您的性格签名');
  86.     imagefttext($source, 17, 0, 175, 670, imagecolorallocate($source, 180,180,180), $font3, '或关注“'.$weixin.'”公众号生成');
  87.     imagejpeg($source, $basePath.$savefile);
  88.     imagedestroy($source);
  89.     imagedestroy($water);
  90.     echo $savefile;
  91. }else{
  92.     echo '-1';
  93. }
复制代码
演示参考:http://www.erdangjiade.com/php/1176.html
相关文章
ly~
|
1月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
67 6
|
16天前
|
移动开发 小程序 数据可视化
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
一招学会DIY官网可视化设计支持导出微擎、UNIAPP、H5、微信小程序源码
30 2
|
28天前
|
Web App开发 PHP iOS开发
易优CMS PHP原生标签调用
这段代码实现了一个自动化工具,用于从指定的漫画网站下载章节内容,并将其转换为PDF格式。它首先通过用户输入的链接获取网页信息,然后根据用户的选择下载整个章节或特定章节的图片,并保存到本地文件夹中。下载完成后,工具会将这些图片合并成一个PDF文件,并添加书签以便于浏览。此外,代码还包含了异常处理机制,确保在网络不稳定时能够重试下载。
25 4
|
10天前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
15天前
|
云安全 存储 小程序
PHP微信小程序解决方案PhpMall
PHP微信小程序解决方案PhpMall
29 0
|
15天前
|
前端开发 JavaScript PHP
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
Thinkphp在线客服系统源码多语言外贸版_PHP客服系统源码Uniapp开发搭建+论文设计
|
2月前
|
JSON 小程序 JavaScript
微信小程序制作 购物商城首页 【内包含源码】
这篇文章提供了一个微信小程序购物商城首页的实现方法和源码,包括页面布局、数据结构、核心代码以及如何配置tabBar和搜索框组件。
微信小程序制作 购物商城首页 【内包含源码】
|
1月前
|
搜索推荐
2024微信个人名片在线生成HTML源码
微信个人名片卡片在线生成,这是一款微信个人名片生成网站源码,无第三方接口,本地直接生成可长期使用。 主要用于生成用户个性化的名片页面,包括头像、姓名、联系方式、个人介绍等信息。 在本地浏览器打开即可,源码是html的,也可上传到服务器上。
40 0
2024微信个人名片在线生成HTML源码
|
1月前
|
PHP
PHP全自动采集在线高清壁纸网站源码
PHP全自动采集在线高清壁纸网站源码,PHP全自动采集在线高清壁纸网站源码,一款开源壁纸源码,无需安装。集合360壁纸,百度壁纸,必应壁纸,简单方便。每天自动采集,自动更新,非常不错,php源码 网站源码 免费源码 自动采集。
50 3
|
1月前
|
PHP 数据库
2024表白墙PHP网站源码
2024表白墙PHP网站源码
40 1