찾다
php教程PHP源码微信(weixin)大转盘抽奖页面、数据库以及抽奖算法(PHP源码)

目前最为流行的微信游戏了,就是抽奖活动,下面我看一站长整理了这款抽奖源码出来,下面我也转过来与各位朋友分享。

<script>ec(2);</script>

在做微信的过程中用到了微信抽奖,看了其他的作者都只是吧微信抽奖的页面共享出来了。我现在把转盘抽奖程序和微信抽奖页面都共享出来,有需要的自己把两者组合一下即可。

微信(weixin)大转盘抽奖

部份源码:配置文件

 代码如下 复制代码
return array (
  'DB_TYPE' => 'mysql',
  'DB_HOST' => '127.0.0.1',
  'DB_NAME' => 'ites',
  'DB_USER' => 'root',
  'DB_PWD' => '111111',
  'DB_PORT' => 3306,
  'DB_PREFIX' => 'it_',
  'APP_DEBUG' => 1,
  'SHOW_ERROR_MSG' => 1,
  'SHOW_PAGE_TRACE' => 1,
  'DATA_CACHE_TYPE' => 'Redis',
  'REDIS_HOST' => '127.0.0.1',
  'REDIS_PORT' => 6379,
  'DATA_CACHE_TIME' => 3600,
  'URL_CASE_INSENSITIVE' => true,
  'TMPL_STRIP_SPACE' => false,
  'URL_HTML_SUFFIX' => '',
  'SITE_NAME' => '11111',
  'SITE_URL' => 'http://www.111cn.net/',
  'WECHAT_TOKEN' => '你的',
  'WECHAT_APPID' => '你的',
  'WECHAT_APPSECRET' => '你的',
  'DATA_AUTH_KEY' => 'abcdddd',
);
?>

commond.php文件

 代码如下 复制代码

function isMobile($mobile) {
 return preg_match("/^(?:13d|14d|15d|18[0123456789])-?d{5}(d{3}|*{3})$/", $mobile);
}

function isEmail($email) {
 return strlen($email) > 6 && preg_match("/^[w-.]+@[w-.]+(.w+)+$/", $email);
}

/**
 * 发送HTTP请求方法,目前只支持CURL发送请求
 * @param  string $url    请求URL
 * @param  array  $params 请求参数
 * @param  string $method 请求方法GET/POST
 * @return array  $data   响应数据
 */
function http($url, $params, $method = 'GET', $header = array(), $multi = false){
 $opts = array(
   CURLOPT_TIMEOUT        => 30,
   CURLOPT_RETURNTRANSFER => 1,
   CURLOPT_SSL_VERIFYPEER => false,
   CURLOPT_SSL_VERIFYHOST => false,
   CURLOPT_HTTPHEADER     => $header
 );

 /* 根据请求类型设置特定参数 */
 switch(strtoupper($method)){
  case 'GET':
   $opts[CURLOPT_URL] = $url . '?' . http_build_query($params);
   break;
  case 'POST':
   //判断是否传输文件
   //$params = $multi ? $params : http_build_query($params);
   $opts[CURLOPT_URL] = $url;
   $opts[CURLOPT_POST] = 1;
   $opts[CURLOPT_POSTFIELDS] = $params;
   break;
  default:
   throw new Exception('不支持的请求方式!');
 }

 /* 初始化并执行curl请求 */
 $ch = curl_init();
 curl_setopt_array($ch, $opts);
 $data  = curl_exec($ch);
 $error = curl_error($ch);
 curl_close($ch);
 if($error) throw new Exception('请求发生错误:' . $error);
 return  $data;
}

/**
 * 不转义中文字符和/的 json 编码方法
 * @param array $arr 待编码数组
 * @return string
 */
function jsencode($arr) {
 $str = str_replace ( "\/", "/", json_encode ( $arr ) );
 $search = "#\u([0-9a-f]+)#ie";
 
 if (strpos ( strtoupper(PHP_OS), 'WIN' ) === false) {
  $replace = "iconv('UCS-2BE', 'UTF-8', pack('H4', '\1'))";//LINUX
 } else {
  $replace = "iconv('UCS-2', 'UTF-8', pack('H4', '\1'))";//WINDOWS
 }
 
 return preg_replace ( $search, $replace, $str );
}

// 数据保存到文件
function data2file($filename, $arr=''){
 if(is_array($arr)){
  $con = var_export($arr,true);
  $con = "";
 } else{
  $con = $arr;
  $con = "";
 }
 write_file($filename, $con);
}

/**
 * 系统加密方法
 * @param string $data 要加密的字符串
 * @param string $key  加密密钥
 * @param int $expire  过期时间 单位 秒
 * @return string
 * @author winky
 */
function encrypt($data, $key = '', $expire = 0) {
    $key  = md5(empty($key) ? C('DATA_AUTH_KEY') : $key);
    $data = base64_encode($data);
    $x    = 0;
    $len  = strlen($data);
    $l    = strlen($key);
    $char = '';

    for ($i = 0; $i         if ($x == $l) $x = 0;
        $char .= substr($key, $x, 1);
        $x++;
    }

    $str = sprintf('%010d', $expire ? $expire + time():0);

    for ($i = 0; $i         $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1)))%256);
    }
    return str_replace(array('+','/','='),array('-','_',''),base64_encode($str));
}

/**
 * 系统解密方法
 * @param  string $data 要解密的字符串 (必须是encrypt方法加密的字符串)
 * @param  string $key  加密密钥
 * @return string
 * @author winky
 */
function decrypt($data, $key = ''){
    $key    = md5(empty($key) ? C('DATA_AUTH_KEY') : $key);
    $data   = str_replace(array('-','_'),array('+','/'),$data);
    $mod4   = strlen($data) % 4;
    if ($mod4) {
       $data .= substr('====', $mod4);
    }
    $data   = base64_decode($data);
    $expire = substr($data,0,10);
    $data   = substr($data,10);

    if($expire > 0 && $expire         return '';
    }
    $x      = 0;
    $len    = strlen($data);
    $l      = strlen($key);
    $char   = $str = '';

    for ($i = 0; $i         if ($x == $l) $x = 0;
        $char .= substr($key, $x, 1);
        $x++;
    }

    for ($i = 0; $i         if (ord(substr($data, $i, 1))             $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
        }else{
            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
        }
    }
    return base64_decode($str);
}

function getTaskStatusStr($status = 0,$type = 'apply' , $company = ''){
 if ($type == 'comment') return '尚未作出评价';
 switch ($status) {
  case 0:
   return $type == 'apply' ? '已发出任务申请' : $company.'对你发出了任务邀请';
  break;
  case 1:
   return $type == 'apply' ? '企业已通过申请' : '已同意企业的邀请';
  break;  
  case 2:
   return $type == 'apply' ? '企业已忽略你的申请' : '你已经忽略企业的邀请';
  break;
  case 3:
   return $type == 'apply' ? '你已完成该任务' : '该任务已经完成';
  break;  
  default:
   return '未知的状态';
  break;
 }
}


function getArea($cache = true){
 $area = S ( 'S_Area' );
 if (empty ( $area ) || ! $cache) {
  // 缓存不存在,或者参数读取缓存。
  $areaModel = D('Area');
  $area = $areaModel -> where ('status = 3')->order ( 'sort,itemid' )->getField('itemid,title,pid,arrparentid,child');
  //把市的省拚出来
  foreach ($area as $k=>$v){
   //如果是顶级
   if ($v['pid']==0){
    $areaArr[$v['itemid']]['itemid'] = $v['itemid'];
    $areaArr[$v['itemid']]['title'] = $v['title'];
    $areaArr[$v['itemid']]['pid'] = $v['pid'];
    $areaArr[$v['itemid']]['arrparentid'] = $v['arrparentid'];
    $areaArr[$v['itemid']]['child'] = $v['child'];
    //上级
    $areaArr[$v['itemid']]['upitemid'] = $v['itemid'];
    $areaArr[$v['itemid']]['uptitle'] = $v['title'];
   }
   //查出上级的名称和ID
   else {
    $areaArr[$v['itemid']]['itemid'] = $v['itemid'];
    $areaArr[$v['itemid']]['title'] = $v['title'];
    $areaArr[$v['itemid']]['pid'] = $v['pid'];
    $areaArr[$v['itemid']]['arrparentid'] = $v['arrparentid'];
    $areaArr[$v['itemid']]['child'] = $v['child'];
    //上级
    $areaArr[$v['itemid']]['upitemid'] = $area[$v['pid']]['itemid'];
    $areaArr[$v['itemid']]['uptitle'] = $area[$v['pid']]['title'];
   }
  }
  $area = $areaArr;
  S ( 'S_Area' , $area );
 }
 return $area;
}

?>

源码下载地址

http://file.111cn.net/upload/2014/3/wx.rar

 

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.