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 数组的创建、调用和更新实现代码
Mar 09 PHP
PHP 数组教程 定义数组
Oct 23 PHP
php 数组的合并、拆分、区别取值函数集
Feb 15 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
一个简单且很好用的php分页类
Oct 26 PHP
php 中文字符串首字母的获取函数分享
Nov 04 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
Jun 09 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
PHP堆栈调试操作简单示例
Jun 15 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
基于php-fpm 参数的深入理解
2013/06/03 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
2013/06/27 PHP
全面解读PHP的人气开发框架Laravel
2015/10/15 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
jscript之Open an Excel Spreadsheet
2007/06/13 Javascript
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
JS判断数组是否包含某元素实现方法汇总
2020/06/24 Javascript
使用js和canvas实现时钟效果
2020/09/08 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
python根据文件大小打log日志
2014/10/09 Python
python实现神经网络感知器算法
2017/12/20 Python
python3下载抖音视频的完整代码
2019/06/05 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
pandas DataFrame 交集并集补集的实现
2019/06/24 Python
详解python pandas 分组统计的方法
2019/07/30 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
JAVA代码查错题
2014/10/10 面试题
酒店服务实习自我鉴定
2013/09/22 职场文书
行政人事经理职位说明书
2014/03/05 职场文书
标准单位租车协议书
2014/09/23 职场文书
群众路线教育实践活动学习心得体会
2014/10/30 职场文书
成事在人观后感
2015/06/16 职场文书
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
手把手教你导入Go语言第三方库
2021/08/04 Golang
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js
Nginx 匹配方式
2022/05/15 Servers