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页面缓存ob系列函数介绍
Oct 18 PHP
php加水印的代码(支持半透明透明打水印,支持png透明背景)
Jan 17 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
php计算给定时间之前的函数用法实例
Apr 03 PHP
php技巧小结【推荐】
Jan 19 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
CI框架(CodeIgniter)操作redis的方法详解
Jan 25 PHP
PHP实现简易计算器功能
Aug 28 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
May 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
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
PHP面向对象学习之parent::关键字
2017/01/18 PHP
基于php流程控制语句和循环控制语句(讲解)
2017/10/23 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
JQuery的$和其它JS发生冲突的快速解决方法
2014/01/24 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
2014/07/17 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
2020/03/04 Javascript
H5 js点击按钮复制文本到粘贴板
2020/11/19 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
[01:07:15]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第二场 1月25日
2021/03/11 DOTA
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
opencv与numpy的图像基本操作
2019/03/08 Python
python3下载抖音视频的完整代码
2019/06/05 Python
python实现读取excel文件中所有sheet操作示例
2019/08/09 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
python——全排列数的生成方式
2020/02/26 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
任意存:BOXFUL
2018/05/21 全球购物
机械专业毕业生自荐信
2013/11/02 职场文书
应届生财务会计求职信
2013/11/05 职场文书
《泉水》教学反思
2014/04/11 职场文书
教师读书活动总结
2014/05/07 职场文书
金融与证券专业求职信
2014/06/22 职场文书
思想品德评语大全
2014/12/31 职场文书
2015年师德表现自我评价
2015/03/05 职场文书