1

PHP でプッシュ通知スクリプトを作成しています。これ$deviceTokenは正しいですが、次の行に警告があります。

$b = pack('H*', str_replace(' ', '', $deviceToken));

警告は次のとおりです。

警告: pack() [function.pack]: タイプ H: 33 行目の /myurl.com/send_push_notification.php の不正な 16 進数

そして通知が来ない。

なぜなのかご存知ですか?

4

4 に答える 4

2

私も同じ問題を抱えていました。結局使ってしまった

trim($device_token)

それ以外の

str_replace(' ', '', $deviceToken)

最後に問題を修正しました。

于 2011-09-27T16:42:03.210 に答える
0

私も同じ問題を抱えていました。最後に、URL にスペース文字が含まれていることがわかりました。URL を確認してください。おそらくそれがエラーです。

于 2014-12-07T21:41:41.840 に答える
0

誰かがまだこの問題を抱えている場合は、試してください

$deviceToken = pack('H*', str_replace(' ', '', sprintf('%u', CRC32($deviceToken))));
于 2019-10-22T11:35:53.117 に答える
0

私も同じ問題に苦しんでいました。それは私の問題を解決しました。以下のコードを使用してみてください:

chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $item[0])) . chr(0) . chr(strlen($payload)) . $payload;  
于 2016-05-26T06:16:46.030 に答える