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 相关文章推荐
第七节--类的静态成员
Nov 16 PHP
PHP执行速率优化技巧小结
Mar 15 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
Jun 10 PHP
PHP之短标签开启设置
Jun 17 PHP
关于JSON以及JSON在PHP中的应用技巧
Nov 27 PHP
php时间戳转换的示例
Mar 31 PHP
smarty内置函数capture用法分析
Jan 22 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
Mar 12 PHP
php中访问修饰符的知识点总结
Jan 27 PHP
Laravel事件监听器用法实例分析
Mar 12 PHP
Laravel框架文件上传功能实现方法示例
Apr 16 PHP
laravel框架实现敏感词汇过滤功能示例
Feb 15 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实现插入排序?
2013/04/10 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
js 获取后台的字段 改变 checkbox的被选中的状态 代码
2013/06/05 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
JS简单设置下拉选择框默认值的方法
2016/08/20 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
python实现DES加密解密方法实例详解
2015/06/30 Python
python的pdb调试命令的命令整理及实例
2017/07/12 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
python 多个参数不为空校验方法
2019/02/14 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
python如何建立全零数组
2020/07/19 Python
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
董事长职责范文
2013/11/08 职场文书
自我鉴定范文
2013/11/10 职场文书
七一建党日演讲稿
2014/09/05 职场文书
作风整顿剖析材料
2014/09/30 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
鲁迅故里导游词
2015/02/05 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书