Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  PHP ja CBOR märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
raxz
HV Guru

liitunud: 26.07.2003




sõnum 04.08.2021 13:36:46 PHP ja CBOR vasta tsitaadiga

Püüan CBORi lahti kodeerida, aga ei oska libraryt kasutada.
https://github.com/Spomky-Labs/cbor-php
composer require spomky-labs/cbor-php tegin Zones ära.
$object = TextStringObject::createFromHex($cbordata);
>>>
Fatal error: Uncaught Error: Class 'CBOR\TextStringObject' not found in /data01/...

Oskab keegi aidata või viidata õiges suunas?
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
serxx
Kreisi kasutaja

liitunud: 16.09.2002



Autoriseeritud ID-kaardiga

sõnum 04.08.2021 14:01:25 vasta tsitaadiga

Täiesti puusalt tulistan...
Kas probleemiks võib olla \ vs / ?
Logist paistavad linuxi tüüpi kaustad. Koodi use rida pakub windowsi tüüpi kaustasid ja veateade viitab ka windowsi tüüpi kaustale.

Äkki prooviks teistpidi kaldkriipsuga?
use CBOR/TextStringObject;
Kommentaarid: 153 loe/lisa Kasutajad arvavad:  :: 2 :: 2 :: 138
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 26.07.2003




sõnum 04.08.2021 14:43:08 vasta tsitaadiga

Just nii. Eile just parandasin teises kohas sarnast asja pärast ridade kopeerimist. thumbs_up.gif

Aga nüüd uued vead.
Parse error: syntax error, unexpected '/', expecting ',' or ';' in /data01/

Rida 2 error. Rida 1-3:
<?
use CBOR/Tag/TimestampTag;
use CBOR/UnsignedIntegerObject;

Midagi siin ikka ei meeldi.
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
serxx
Kreisi kasutaja

liitunud: 16.09.2002



Autoriseeritud ID-kaardiga

sõnum 04.08.2021 15:12:46 vasta tsitaadiga

Kas sul on äkki puudu composeri require?
require __DIR__ . '/vendor/autoload.php';


Tegin ise ühes virtukas katse.
Pole ei composeri ega CBOR asjadega kunagi kokku puutunud varem.

Composer tekitas jooksvasse kausta (antud juhul veebiserveri root kasutas asuv test nimeline kaust) 'vendor' nimelise kausta, kuhu sisse pani enda jaoks vajalikud asjad + need asjad mis sa tema kaudu paigaldad.

Lihtsalt selline asi annab mulle ka veateate, et klassi ei leita:
use CBOR\UnsignedIntegerObject;


Kui composeri kasutusjuhendit lugeda ja lisada composer ka juurde, siis töötab:
require __DIR__ . '/vendor/autoload.php';
use CBOR\UnsignedIntegerObject;


Kogu minu testkood:
<?php
//  test/test.php

require __DIR__ . '/vendor/autoload.php';
use CBOR\UnsignedIntegerObject;

$object = UnsignedIntegerObject::create(10);
$object = UnsignedIntegerObject::create(1000);
$object = UnsignedIntegerObject::create(10000);
$object = UnsignedIntegerObject::createFromHex('0AFFEBFF');

echo bin2hex((string)$object); // 1a0affebff

?>


küsides veebiserverist aadressit domain.tld/test/test.php, saan korrektse vastuse, 1a0affebff
Kommentaarid: 153 loe/lisa Kasutajad arvavad:  :: 2 :: 2 :: 138
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 26.07.2003




sõnum 04.08.2021 20:33:09 vasta tsitaadiga

Nii, use enam errorit ei anna.
Aga require ei leia faili. Otsib samast kaustast, kus skript on. Seal ilmselt ei ole. Või peaksin kuidagi teisiti selle faili talle selgeks tegema?
Warning: require(/data01/.../vendor/autoload.php): failed to open stream: No such file or directory in /data01/.../test.php on line 3
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
serxx
Kreisi kasutaja

liitunud: 16.09.2002



Autoriseeritud ID-kaardiga

sõnum 04.08.2021 21:13:35 vasta tsitaadiga

require peab viitama sellele kaustale, kus sul 'vendor' nimeline kaust on. Kui see ei ole sinu php failiga samas kaustas, pead viitama kuhugi mujale ilmselt või panema nad ühte kohta kokku.

Mina tegin oma masinas /var/www/html kausta alamkausta test. Seal kaustas installisin/käivitasin composeri ja tõmbasin CBOR library.
Sinna kausta tegin ka test.php faili.

Apache root on: /var/www/html
/var/www/html/test kaustas on (mälu järgi - pole seda virtukat enam):
test.php
composer.json
composeri.lock <- (vist oli lock laiend, 100% kindel ei ole)
vendor <- kaust, kus sees on autoload.php ja lisaks veel kautasid, kus sees on ka CBOR asjad.

katsun browseriga: http://<ip>/test/test.php

Sellisel juhul töötab minu tehtud test ja nii nagu ka dokumentatsioon kirjutab.
Kui sul on php raknduse faili ja vendor kausta relatiivne asukoht teine, pead teekondasid vastavalt korrigeerima ilmselt.
Kommentaarid: 153 loe/lisa Kasutajad arvavad:  :: 2 :: 2 :: 138
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 26.07.2003




sõnum 05.08.2021 12:36:39 vasta tsitaadiga

Sain selle faili kätte. Pidin paar kausta tagasi minema.
require '../../../../vendor/autoload.php';

Nüüd saan õiged andmed kätte, aga järgmine samm vajab veel ühte lahti kodeerimist.
Proovin QR koodist infot PHPga kätte saada. https://ehealth.vyncke.org
Seal on jutt, milleni ma ei oska jõuda.
tsitaat:
A COSE signed messages contains 'claims' protected/signed by the CBOR Web Token in this case what is certified valid by a EU Member State. The CBOR-encoded claims payload is:
Ja selle järel tuleks siis JSONi loetavaks tegemine?
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
serxx
Kreisi kasutaja

liitunud: 16.09.2002



Autoriseeritud ID-kaardiga

sõnum 05.08.2021 17:47:12 vasta tsitaadiga

see on suht lihtne

1. dekodeeri pildi pealt QR kood, saad mingi binaarse data
2. kui esimesed kolm baiti sisaldavad HC1, siis viskad need sealt algusest minema, kui ei, siis ilmselt ei loetud mõistlikku QR koodi või on see vigane.
3. järele jäänud data lased läbi base45 dekoodri
4. edasi lased tulemuse läbi zlib uncompressi
5. lõpuks lased selle läbi CBOR/COSE dekoodri ja saad ilmselt siis mingi objekti, mida on ilmselt võimalik ka JSON kujul esitada, kui seda peaks olema vaja teha.

Põhimõtteliselt polegi vaja midagi kirjutada eriti.
Kõige selle jaoks kasutad ju nagunii kellegi teise tehtud koodi.
Lao ainult paar lego klotsi õigesti ritta ja ongi tulemus käes.
Kommentaarid: 153 loe/lisa Kasutajad arvavad:  :: 2 :: 2 :: 138
tagasi üles
vaata kasutaja infot saada privaatsõnum
raxz
HV Guru

liitunud: 26.07.2003




sõnum 05.08.2021 18:00:15 vasta tsitaadiga

See viimane asi, mille sinu abiga käima sain, oligi läbi CBOR dekoodri, aga see ei ole veel viimane tulemus. Seal paistab 1 samm veel olevat. Või siis kasutan dekoodrit valesti…
Kommentaarid: 46 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 45
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  PHP ja CBOR
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.