Possible Duplicate:
pack() in php. Illegal hex digit warningPHP Warning: pack(): Type H: errore di r illegale hex cifre
Sto utilizzando il servizio di notifica push di Apple e per inviare la notifica, è necessario costruire il messaggio in formato binario. Ho ottenuto le seguenti errori per la linea di seguito:
Warning: pack(): Type H: illegal hex digit r
Warning: pack(): Type H: illegal hex digit y
Notice: Array to string conversion in C:\xampp\htdocs\firecom\FireComAPNS.php on line 130
Ecco la riga di codice gettando l'errore:
$msg = chr(0).pack('n', 32).pack('H*', $devicetoken).pack('n',strlen($payload)) . $payload;
e
$devicetoken=773f5436825a7115417d3d1e036da20e806efeef547b7c3fe4da724d97c01b30
Ho cercato su internet un sacco, ma non ho idea di come fare casino con binario, qualsiasi aiuto su quello che sta succedendo sarebbe molto apprezzato!
ho capito il problema. $ deviceToken era una matrice invece di una stringa. Ho usato $ deviceToken = $ row ['devicetoken']; per ottenere la fila giusta e tutto va bene di nuovo. –
Grandi cose. Sono contento di sentire che l'hai trovato tu stesso. –
Che bello averlo capito, ma è più importante rendersi conto che 1) la matrice che hai passato è stata convertita in una stringa da 'pack'; 2) il valore della stringa era il testo 'Array'; 3) I caratteri 'r' e' y' in quella stringa non sono cifre esadecimali valide; 4) ... ecco perché ha fallito. –