php开发文档 会员收费1期


Posted in PHP onAugust 14, 2012

介绍

最新项目——会员收费,目的是要以更好的展现形式表现给用户,以及添加了新功能(会员机制)。

索引

流程图

1> 展示界面

2> 获取折扣价格
接口说明

http请求脚本(curl或socket)
测试数据

流程图

其中里面的demo:是通过url进行展现,里面的mst是参数,通过不同的参数进行展现。如:http://www.demo.com/?mst=1表示参数为1的demo样式。

展示界面(4种情况)
php开发文档 会员收费1期
获取折扣价格
php开发文档 会员收费1期
接口说明

1、开通高级会员
psid=2
pstype=101
2、开通会员
psid=1
pstype=101
3、[会员/高级会员]价格信息
wiki地址:http://wiki.1verge.net/projects:premium:v2:product_rules_api#根据会员等级id获取等级信息
4、[是否是会员]
wiki地址:http://wiki.1verge.net/projects:premium:v2:verify_center_api#获取当前会员等级
5、[折扣信息]
wiki地址:http://wiki.1verge.net/projects:premium:v2:operation_api#根据用户id_服务id_服务类型_服务周期数_获得当前用户可以享受的折扣策略
6、可包月节目+有权观看+高级会员则显示“您是高级会员,可免费观看此节目”
7、仅包月节目+有权观看+高级会员提示“续费”
8、除6以外+有权观看则显示“截止日期”

可以在Premium.class.php中list_shows_by_pkgid函数下面继续封装调用函数

http请求脚本(curl或socket)

<?php 
function httpRequest($url, $hostName, array $params){ 
$postParams = array(); 
foreach ($params as $key=>$val) { 
$post_params[] = $key.'='.rawurlencode($val); 
} $postString = implode('&', $post_params); 
$result = ''; 
if (function_exists('curl_init')) { 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: ' . $hostName)); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERAGENT, 'DEMO.COM PREMIUM PHP5 Client ver: ' . phpversion()); 
curl_setopt($ch, CURLOPT_TIMEOUT, 2); 
$result = curl_exec($ch); 
curl_close($ch); 
} else { 
$context = array('http' => array('method' => 'POST', 
'header' => 'Content-type: application/x-www-form-urlencoded' . "\r\n". 
'Host: '.$hostName . "\r\n". 
'User-Agent: TEST.COM BC Test PHP5 Client ver: ' . phpversion() . "\r\n". 
'Content-length: ' . strlen($postString), 
'content' => $postString)); 
$contextId = stream_context_create($context); 
$handle = fopen($url, 'r', false, $contextId); 
if ($handle) { 
while (!feof($handle)) $result .= fgets($sock, 4096); 
fclose($handle); 
} 
} 
return $result; 
}

测试数据

1、点播信息节目ID:1e390718b72311df97c0.html
2、vip用户ID:123350942
3、普通用户ID:106738702

有权观看的节目ID:cbfb035e962411de83b1.html

PHP 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
php include加载文件两种方式效率比较
Aug 08 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
Sep 19 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
May 27 PHP
php二维数组用键名分组相加实例函数
Nov 06 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
php的dl函数用法实例
Nov 06 PHP
windows7下php开发环境搭建图文教程
Jan 06 PHP
Laravel 解决419错误 -ajax请求错误的问题(CSRF验证)
Oct 25 PHP
Laravel框架源码解析之入口文件原理分析
May 14 PHP
php去除数组中为0的元素的实例分析
Nov 17 PHP
php适配器模式介绍
Aug 14 #PHP
PHP缓存技术的多种方法小结
Aug 14 #PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
Aug 14 #PHP
php调用dll的实例操作动画与代码分享
Aug 14 #PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 #PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
Aug 09 #PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 #PHP
You might like
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
在PHP中读取和写入WORD文档的代码
2008/04/09 PHP
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
php中定义网站根目录的常用方法
2010/08/08 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PHP实现批量修改文件名的方法示例
2019/09/18 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
对textarea框的代码调试,而且功能上使用非常方便,酷
2006/06/30 Javascript
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
JavaScript中的prototype使用说明
2010/04/13 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
浅谈angularjs中响应回车事件
2017/04/24 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
5分钟打造简易高效的webpack常用配置
2017/07/04 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
nodejs中request库使用HTTPS代理的方法
2019/04/30 NodeJs
python引用DLL文件的方法
2015/05/11 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python实现手机销售管理系统
2019/03/19 Python
python进程和线程用法知识点总结
2019/05/28 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
python如何把字符串类型list转换成list
2020/02/18 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
电子狗项圈:eDog Australia
2019/12/04 全球购物
优秀员工推荐信
2014/05/10 职场文书
一篇文章带你复习java知识点
2021/06/28 Java/Android
24年收藏2000多部退役军用电台
2022/02/18 无线电