php ios推送(代码)


Posted in PHP onJuly 01, 2013
<?php
//php需要开启ssl(OpenSSL)支持
$apnsCert    = "ck.pem";//连接到APNS时的证书许可文件,证书需格外按要求创建
$pass        = "123456";//证书口令
$serverUrl   = "ssl://gateway.sandbox.push.apple.com:2195";//push服务器,这里是开发测试服务器
$deviceToken = "a8fcd4aa8943b223d4ebcd54fe168a8b99b3f24c63dbc0612db25a8c0a588675";//ios设备id,中间不能有空格,每个ios设备一个id
$message = $_GET ['message'] or $message = "hello!";
$badge   = ( int ) $_GET ['badge'] or $badge = 2;
$sound   = $_GET ['sound'] or $sound = "default";
$body    = array('aps' => array('alert' => $message , 'badge' => $badge , 'sound' => $sound));
$streamContext = stream_context_create();
stream_context_set_option ( $streamContext, 'ssl', 'local_cert', $apnsCert );
stream_context_set_option ( $streamContext, 'ssl', 'passphrase', $pass );
$apns = stream_socket_client ( $serverUrl, $error, $errorString, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $streamContext);//连接服务器
if ($apns) {
    echo "Connection OK <br/>";
} else {
    echo "Failed to connect $errorString";
    return;
}
$payload = json_encode ( $body );
$msg     = chr(0) . pack('n', 32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack('n', strlen($payload)) . $payload;
$result  = fwrite ( $apns, $msg);//发送消息
fclose ( $apns );
if ($result)
    echo "Sending message successfully: " . $payload;
else
    echo 'Message not delivered';
?>
PHP 相关文章推荐
php小型企业库存管理系统的设计与实现代码
May 16 PHP
浅析php工厂模式
Nov 25 PHP
php模拟登陆的实现方法分析
Jan 09 PHP
php冒泡排序与快速排序实例详解
Dec 07 PHP
PHP闭包函数详解
Feb 13 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
PHP的反射机制实例详解
Mar 29 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 PHP
php连接sftp的作用以及实例代码
Sep 23 PHP
Laravel 修改默认日志文件名称和位置的例子
Oct 17 PHP
PHP分页效率终结版(推荐)
Jul 01 #PHP
解析php防止form重复提交的方法
Jul 01 #PHP
PHP以指定字段为索引返回数据库所取的数据数组
Jun 30 #PHP
php设计模式之单例、多例设计模式的应用分析
Jun 30 #PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 #PHP
深入解析php中的foreach问题
Jun 30 #PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 #PHP
You might like
PHP 和 MySQL 基础教程(三)
2006/10/09 PHP
PHP无限分类的类
2007/01/02 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
纯php生成随机密码
2015/10/30 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
php和nginx交互实例讲解
2019/09/24 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
vue中axios的封装问题(简易版拦截,get,post)
2018/06/15 Javascript
Promise扫盲贴
2019/06/24 Javascript
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
Python错误的处理方法
2020/06/23 Python
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
美国Jeep配件购物网站:Morris 4×4 Center
2019/05/01 全球购物
"引用"与多态的关系
2013/02/01 面试题
linux面试题参考答案(4)
2014/09/21 面试题
Linux常见面试题
2013/03/18 面试题
讲解员培训方案
2014/05/04 职场文书
小学生2014国庆节演讲稿:祖国在我心中
2014/09/21 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS