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 相关文章推荐
1.PHP简介
Oct 09 PHP
构建简单的Webmail系统
Oct 09 PHP
php简单的会话类代码
Aug 08 PHP
php 错误处理经验分享
Oct 11 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
PHP实现阳历到农历转换的类实例
Mar 07 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
浅谈PHP中如何实现Hook机制
Nov 14 PHP
ThinkPHP中图片按比例切割的代码实例
Mar 08 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
通过PHP实现获取访问用户IP
May 09 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
Linux编译升级php的详细方法
2013/11/04 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
2020/04/23 PHP
js 提交和设置表单的值
2008/12/19 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
IE8 chrome中table隔行换色解决办法
2010/07/09 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
详解JS函数重载
2014/12/04 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
javascript实现动态显示颜色块的报表效果
2017/04/10 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
详解Vue中watch对象内属性的方法
2019/02/01 Javascript
[29:23]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场1
2014/05/23 DOTA
python中二维阵列的变换实例
2014/10/09 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Flask实现跨域请求的处理方法
2018/09/27 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
Python实现某论坛自动签到功能
2019/08/20 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
详解python播放音频的三种方法
2019/09/23 Python
python 字典的打印实现
2019/09/26 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
关于Kotlin中SAM转换的那些事
2020/09/15 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
竞聘副主任科员演讲稿
2014/01/11 职场文书
青蓝工程实施方案
2014/03/27 职场文书
政风行风建设整改方案
2014/10/27 职场文书
经理岗位职责
2015/02/02 职场文书